0d9c6f21 by 周伟奇

add VAT special

1 parent 799a0e94
...@@ -640,7 +640,7 @@ RP_FIELD_ORDER_0 = (('姓名', '姓名'), ...@@ -640,7 +640,7 @@ RP_FIELD_ORDER_0 = (('姓名', '姓名'),
640 ('住址', '住址'), 640 ('住址', '住址'),
641 ('性别', '性别'),) 641 ('性别', '性别'),)
642 RP_FIELD_ORDER_1 = IC_FIELD_ORDER_1 642 RP_FIELD_ORDER_1 = IC_FIELD_ORDER_1
643 # 增值税 643 # 增值税
644 VAT_CN_NAME = 'VAT普票' 644 VAT_CN_NAME = 'VAT普票'
645 VAT_CLASSIFY = 0 645 VAT_CLASSIFY = 0
646 VAT_FIELD_ORDER = (('发票代码', '发票代码'), 646 VAT_FIELD_ORDER = (('发票代码', '发票代码'),
...@@ -665,6 +665,32 @@ VAT_FIELD_ORDER = (('发票代码', '发票代码'), ...@@ -665,6 +665,32 @@ VAT_FIELD_ORDER = (('发票代码', '发票代码'),
665 ('销方开户行及账号', '销售方开户行及账号'), 665 ('销方开户行及账号', '销售方开户行及账号'),
666 ('下盖章', '销售方:(章)'), 666 ('下盖章', '销售方:(章)'),
667 ('备注', '备注'),) 667 ('备注', '备注'),)
668 # 增值税专票
669 VATS_CN_NAME = 'VAT专票'
670 VATS_CLASSIFY = 10088
671 VATS_FIELD_ORDER = (('发票代码', '发票代码'),
672 ('发票代码_开具', '发票代码(开具)'),
673 ('发票号码', '发票号码'),
674 ('发票号码_开具', '发票号码(开具)'),
675 ('开票日期', '开票日期'),
676 ('校验码', '校验码'),
677 ('货物或应税劳务、服务名称', '货物或应税劳务、服务名称'),
678 ('金额合计', '开具金额合计(不含税)'),
679 ('税率', '税率'),
680 ('税额合计', '税额合计'),
681 ('价税合计小写', '价税合计(小写)'),
682 ('价税合计大写', '价税合计(大写)'),
683 ('购方名称', '购买方名称'),
684 ('购方纳税人识别号', '购买方纳税人识别号'),
685 ('购方地址、电话', '购买方地址、电话'),
686 ('购方开户行及账号', '购买方开户行及账号'),
687 ('销方名称', '销售方名称'),
688 ('销方纳税人识别号', '销售方纳税人识别号'),
689 ('销方地址、电话', '销售方地址、电话'),
690 ('销方开户行及账号', '销售方开户行及账号'),
691 ('下盖章', '销售方:(章)'),
692 ('车船税', '车船税'),
693 ('备注', '备注'),)
668 # 机动车登记证书 694 # 机动车登记证书
669 MVC_CN_NAME = '机动车登记证书' 695 MVC_CN_NAME = '机动车登记证书'
670 MVC_CLASSIFY = 28 696 MVC_CLASSIFY = 28
...@@ -768,7 +794,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'), ...@@ -768,7 +794,7 @@ MVI_FIELD_ORDER = (('发票代码', '发票代码'),
768 ('主管税务机关及代码', '主管税务机关及代码'), 794 ('主管税务机关及代码', '主管税务机关及代码'),
769 ('吨位', '吨位'), 795 ('吨位', '吨位'),
770 ('限乘人数', '限乘人数'),) 796 ('限乘人数', '限乘人数'),)
771 IC_PID = VAT_PID = MVC_PID = MVI_PID = None 797 IC_PID = VAT_PID = VATS_PID = MVC_PID = MVI_PID = None
772 798
773 # 营业执照 799 # 营业执照
774 BL_CN_NAME = '营业执照' 800 BL_CN_NAME = '营业执照'
...@@ -907,6 +933,11 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F ...@@ -907,6 +933,11 @@ LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, F
907 (MVC_CLASSIFY, (MVC_PID, MVC_CN_NAME, None, True, True, MODEL_FIELD_MVC)), 933 (MVC_CLASSIFY, (MVC_PID, MVC_CN_NAME, None, True, True, MODEL_FIELD_MVC)),
908 (VAT_CLASSIFY, (VAT_PID, VAT_CN_NAME, VAT_FIELD_ORDER, False, False, MODEL_FIELD_VAT))) 934 (VAT_CLASSIFY, (VAT_PID, VAT_CN_NAME, VAT_FIELD_ORDER, False, False, MODEL_FIELD_VAT)))
909 935
936 FOLDER_LICENSE_ORDER = ((MVI_CLASSIFY, (MVI_PID, MVI_CN_NAME, MVI_FIELD_ORDER, False, False, MODEL_FIELD_MVI)),
937 (IC_CLASSIFY, (IC_PID, IC_CN_NAME, None, True, False, MODEL_FIELD_IC)),
938 (VAT_CLASSIFY, (VAT_PID, VAT_CN_NAME, VAT_FIELD_ORDER, False, False, MODEL_FIELD_VAT)),
939 (VATS_CLASSIFY, (VATS_PID, VATS_CN_NAME, VATS_FIELD_ORDER, False, False, MODEL_FIELD_VAT)))
940
910 LICENSE_CLASSIFY_MAPPING = dict(LICENSE_ORDER) 941 LICENSE_CLASSIFY_MAPPING = dict(LICENSE_ORDER)
911 942
912 OTHER_CLASSIFY_SET = {OTHER_CLASSIFY} 943 OTHER_CLASSIFY_SET = {OTHER_CLASSIFY}
......
...@@ -656,7 +656,7 @@ class BSWorkbook(Workbook): ...@@ -656,7 +656,7 @@ class BSWorkbook(Workbook):
656 count_list.append((field_str, count)) 656 count_list.append((field_str, count))
657 657
658 def simple_license_rebuild(self, license_summary, document_scheme): 658 def simple_license_rebuild(self, license_summary, document_scheme):
659 for classify, (_, name, field_order, side_diff, scheme_diff, _) in consts.LICENSE_ORDER: 659 for classify, (_, name, field_order, side_diff, scheme_diff, _) in consts.FOLDER_LICENSE_ORDER:
660 license_list = license_summary.get(classify) 660 license_list = license_summary.get(classify)
661 if not license_list: 661 if not license_list:
662 continue 662 continue
...@@ -667,6 +667,9 @@ class BSWorkbook(Workbook): ...@@ -667,6 +667,9 @@ class BSWorkbook(Workbook):
667 if classify == consts.IC_CLASSIFY and license_dict.get('类别') == '1': 667 if classify == consts.IC_CLASSIFY and license_dict.get('类别') == '1':
668 license_summary.setdefault(consts.RP_CLASSIFY, []).append(license_dict) 668 license_summary.setdefault(consts.RP_CLASSIFY, []).append(license_dict)
669 continue 669 continue
670 if classify == consts.VAT_CLASSIFY and license_dict.get('发票类型') == 'special':
671 license_summary.setdefault(consts.VATS_CLASSIFY, []).append(license_dict)
672 continue
670 if side_diff: 673 if side_diff:
671 key, field_order_yes, field_order_no = consts.FIELD_ORDER_MAP.get(classify) 674 key, field_order_yes, field_order_no = consts.FIELD_ORDER_MAP.get(classify)
672 field_order = field_order_yes if key in license_dict else field_order_no 675 field_order = field_order_yes if key in license_dict else field_order_no
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!