进项认证系统

商亚东1231 | 81 | 2024-11-01

前言:进项发票,简单来说,就是别人开给我的票,这个就是进项发票。而进项认证的主要功能就是让这些票可以去抵扣需要缴的税款。 一、配置税号 进项系统的使用是从配置税号开始,配置地方如图(1),配置的时候需要选择厂商,目前就两个厂商--中软和航信,航信的接口在派平台已经弃用,所以最好选择中


image.png


涉及到的后端表是:INPUT_PASS_WORD_CONFIG

字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
BUYER_NAME购方名称VARCHAR2500
BUYER_NUMBER购方税号VARCHAR2100
PASS_WORD密码VARCHAR264
EXTEND_STR拓展字段:字符类型VARCHAR2500
EXTEND_NUM拓展字段:数值类型NUMBER15,2
EXTEND_DATE拓展字段:时间类型TIMESTAMP(6)11
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11
ARCHIVE_FLAG归档标识(Y/N)VARCHAR2100
ARCHIVE_DATE归档时间TIMESTAMP(6)11
INTERFACE_SCHEME接口方案 HX:航信 ZR:中软VARCHAR210
AUTO_CONFIG_FLAG是否自动勾选确认配置 0 勾选 1不勾选CHAR1

二、配置账户权限 进项是支持配置用户权限的,这里会控制哪一个账号可以看到哪一个税号的发票信息:

image.png


如果这里没有配置,则账号会看不到任何税号的发票信息。配置好之后,每次刷新页面,都会调用一次/accountconfig/findUserBuyer 权限接口,去查询该账号的税号权限。 这个功能涉及到的表是:INPUT_ACCOUNT_CONFIG_BUYER

字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
ACCOUNT_CONFIG_ID账户配置IDVARCHAR264
TAX_CODE购方税号VARCHAR2100
TAX_NAME购方名称VARCHAR2200
EXTEND_S1扩展 String 1VARCHAR2500
EXTEND_S2扩展 String 2VARCHAR2500
EXTEND_S3扩展 String 3VARCHAR2500
EXTEND_S4扩展 String 4VARCHAR2500
EXTEND_S5扩展 String 5VARCHAR2500
EXTEND_S6扩展 String 6VARCHAR2500
EXTEND_S7扩展 String 7VARCHAR2500
EXTEND_S8扩展 String 8VARCHAR2500
EXTEND_S9扩展 String 9VARCHAR2500
EXTEND_S10扩展 String 10VARCHAR2500
EXTEND_NUMBER1扩展 Number 1NUMBER15,2
EXTEND_NUMBER2扩展 Number 2NUMBER15,2
EXTEND_NUMBER3扩展 Number 3NUMBER15,2
EXTEND_NUMBER4扩展 Number 4NUMBER15,2
EXTEND_NUMBER5扩展 Number 5NUMBER15,2
EXTEND_NUMBER6扩展 Number 6NUMBER15,2
EXTEND_NUMBER7扩展 Number 7NUMBER15,2
EXTEND_NUMBER8扩展 Number 8NUMBER15,2
EXTEND_NUMBER9扩展 Number 9NUMBER15,2
EXTEND_NUMBER10扩展 Number 10NUMBER15,2
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11
ARCHIVE_FLAG归档标识(Y/N)VARCHAR2100
ARCHIVE_DATE归档时间TIMESTAMP(6)11
TAX_ID购方IDVARCHAR264

三、获取税期 发票的税期是税局的规定的一个期间,一般这个期间是税局去在当月的中旬更改成当月的税期,但是当月开的票不会是之前税期的,依旧属于当前税期。比如:2024年9月3号某公司开的票能不能在9月3号去做这张发票的勾选这些业务呢?

答案肯定是不能的,原因:2024年9月3号税局的税期还是202408期,但是2024年9月3号的票是属于202409期的,你是不能用09期的票去抵扣08期。并且进项系统也在查询发票接口做了限制,只能查询开票时间是2017-01-01到当前税期的最后一天。比如20240903你去点击查询发票是不能查询到9月3号开的票据的。你只能查询到2017-01-01至2024-08-31当中开的票据。 进项的税期也是从税局拉取过来的,涉及到的定时器是:

image.png


定时器的逻辑是:第一步:查询INPUT_ACCOUNT_CONFIG_BUYER表,找到所有配置了账户权限的税号,并进行去重。 第二步:查询INPUT_PASS_WORD_CONFIG表中的所有税号,和第一步做匹配 第三步:匹配出来的税号根据第一步配置的接口方案走各个接口 第四步:存入INPUT_TAX_PERIOD_CONFIG表中

字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
SSQ所属期VARCHAR210
GXFW勾选范围VARCHAR220
DQJZSJ当前截止时间VARCHAR210
EXTEND_STR拓展字段:字符类型VARCHAR2500
EXTEND_NUM拓展字段:数值类型NUMBER15,2
EXTEND_DATE拓展字段:时间类型TIMESTAMP(6)11
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11
ARCHIVE_FLAG归档标识(Y/N)VARCHAR2100
ARCHIVE_DATE归档时间TIMESTAMP(6)11
BUYER_NAME购方名称VARCHAR2500
BUYER_NUMBER购方税号VARCHAR2100





你可以在以下页面上查询到获取到的税期信息:


image.png


四、获取发票 获取发票是将税局还未勾选的且可以进行勾选抵扣认证业务的发票拉取到进项中,而哪一些是不能进行进项抵扣的发票,比如:农产品收购发票中的购买非农产品票、个人消费或者集体消费票等 进项的获取发票是一个异步的过程,涉及到两个定时器

image.png


同步底账库发票,是向税局发起申请查询进项发票,逻辑是: 第一步和第二步和同步税期相似 第三步:生成批次号,批次号的逻辑是税号加上年月日再加上随机数字 第四步:组长抵账库查询传参,调用接口平台,有异常就抛出异常 第五步:保存底账库查询记录到INPUT_LEDGER_RECORD这个表中,状态为2”处理中“ 同步抵账库下载,是向派平台发起查询底账库结果,该结果派平台会主动去税局拉取,放到派平台数据库中 第一步:查询INPUT_LEDGER_RECORD表中状态为处理中的数据 第二步:使用批次号调用获取抵账库结果接口 第三步:组装派平台返回的参数变成发票信息(特殊逻辑:会根据发票池中的发票类型。如果发票类型不是12、14、18、21则会将发票号码和发票代码合起来变成发票号码) 第四步:判断发票是否在input_invoice存在,如果存在就修改,如果不存在就新增

INPUT_LEDGER_RECORD表

字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
REQ_SERIAL_NUMBER请求流水VARCHAR2100
BUYER_NUMBER购方税号VARCHAR2100
BUYER_NAME购方名称VARCHAR2100
PROCESS_STATE处理状态(1:待处理、2:处理中、3:处理失败、4:处理成功)VARCHAR260
EXTEND_STR拓展字段:字符类型VARCHAR2500
EXTEND_NUM拓展字段:数值类型NUMBER15,2
EXTEND_DATE拓展字段:时间类型TIMESTAMP(6)11
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11
ARCHIVE_FLAG归档标识(Y/N)VARCHAR2100
ARCHIVE_DATE归档时间TIMESTAMP(6)11




I

input_invoice表

字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
BILLING_NO发票代码VARCHAR250
BILLING_CODE发票号码VARCHAR250
BILLING_TIME开票日期VARCHAR250
BILL_TYPE_INVOICE票据类型(1:发票、2:车船票(实名制)、3:其他纸质票、4:行程单、5:火车票、6:机票订单、7:住宿订单、8:出租车票、10:车船票(非实名制)、11:增值税普通发票(卷票)、12:机动车销售统一发票、13:二手车销售统一发票、14:增值税专用发票、15:增值税专用发票(成品油)、16:增值税普通发票、17:增值税电子普通发票、18:增值税电子普通发票(通行费)、19:区块链发票、20:机打发票、21:增值税电子专用发票、23:火车票订单)VARCHAR260
OBSOLETE_STATE作废状态(发票状态)(0:作废、1:红冲、2:红字发票、3:作废中、4:红冲中、5:正常、5:失控、7:异常、8:认证异常)VARCHAR260
SELLER_NAME销方名称VARCHAR2500
BUYER_NAME购方名称VARCHAR2500
BUYER_NUMBER购方税号VARCHAR2100
CHECK_STATE勾选状态(0:未勾选、1:勾选成功、2:勾选中、3:勾选失败、4:撤销勾选中)VARCHAR260
CHECK_DATE勾选时间TIMESTAMP(6)11
CHECK_FAILED_MSG勾选失败描述VARCHAR2500
AUTH_TYPE认证类型(1:抵扣、2:不抵扣)VARCHAR260
AUTH_STATE发票认证状态(0000:认证成功、2001:认证失败、3001:无需认证)VARCHAR260
AUTH_DATE认证时间TIMESTAMP(6)11
AUTH_FAILED_MSG认证失败描述VARCHAR2500
EXIST_LEDGER_LIBRARY是否存在底账库CHAR1
EXIST_INVOICE_POOL是否存在发票池CHAR1
DOWNLOAD_DATE下载时间TIMESTAMP(6)11
ROLL_OUT_ITME转出项目VARCHAR220
TAX_VALID有效税额NUMBER15,2
BOE_NUMBER单据编号VARCHAR21500
COMPANY_NAME核算主体VARCHAR21500
POST_STATE入账状态(RZZT01:未入账、RZZT02:已入账)VARCHAR220
TAX_PERIOD税额所属期VARCHAR220
EXTEND_STR拓展字段:字符类型VARCHAR2500
EXTEND_NUM拓展字段:数值类型NUMBER15,2
EXTEND_DATE拓展字段:时间类型TIMESTAMP(6)11
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11
ARCHIVE_FLAG归档标识(Y/N)VARCHAR2100
ARCHIVE_DATE归档时间TIMESTAMP(6)11
SELLER_NUMBER销方税号VARCHAR2100
ACCOUNT_PERIOD账期VARCHAR220
OPERATION_TYPE_ID业务类型idVARCHAR21500
COMPANY_ID核算主体idVARCHAR21500
STATUS_CHANGE状态变更标识(Y/N)VARCHAR210
CHECK_USER勾选人VARCHAR264
ROLL_OUT_TAX转出税额NUMBER19,2
FEE_WITHOUT_TAX不含税金额NUMBER19,2
TAX税额NUMBER19,2
FEE总额NUMBER19,2
CHECK_FAILED_MSG_NAME勾选失败描述名称VARCHAR2500
RECORDED_DATE入账时间TIMESTAMP(6)11
VOUCHER_NUM凭证编号VARCHAR22000
VOUCHER_DATE凭证时间VARCHAR21500
SOURCE_TYPE来源方式:0-底账库获取、1-单票获取CHAR1
PI_LATEST_RECEIVE_TIME派平台最新接收时间TIMESTAMP(6)11
COMPENSATE_DATE单票查询定时器补偿查询该发票的时间TIMESTAMP(6)11
BOE_TYPE_CODE单据类型VARCHAR264
LAST_APPROVAL_DATE单据最后审批时间TIMESTAMP(6)11
CHECK_TYPE勾选类型(尚未做任何进项业务操作/0,抵扣勾选/1,退税勾选/2,撤销不抵扣勾选/6,不抵扣勾选/4,撤销抵扣勾选/5,代理退税勾选/3)VARCHAR22
NON_DEDUCTION_TYPE不抵扣类型(1:用于非应税项目 2:用于免税项目 3:用于集体福利或者个人消费 4:非正常损失的 5:其他)VARCHAR21
NON_DEDUCTION_REASONS不抵扣原因VARCHAR2300
EXTEND_S1扩展 String 1VARCHAR2100
EXTEND_S2扩展 String 2VARCHAR2100
EXTEND_S3扩展 String 3VARCHAR2100是 五、查询发票信息 目前我们进项有四个查询发票的界面,查询的表是input_invoice 表结构请移步第四点查看。 第一个界面是底账发票库,这个是查询全量的发票数据,无论是只存在底账库的还是只存在发票池的发票,并且这个界面也没有限制你的开票日期止只能是当前日期的最后一天。



五、查询发票信息

目前我们进项有四个查询发票的界面,查询的表是input_invoice 表结构请移步第四点查看。 第一个界面是底账发票库,这个是查询全量的发票数据,无论是只存在底账库的还是只存在发票池的发票,并且这个界面也没有限制你的开票日期止只能是当前日期的最后一天。



image.png


第二个界面就是发票勾选分类界面,这个界面的主要功能是将未勾选的发票转换勾选类型,因为我们进项默认就是抵扣勾选。你可以在这个页面转成退税勾选和不抵扣勾选等。 抵扣勾选:主要与增值税的进项抵扣相关。根据《中华人民共和国增值税暂行条例》,纳税人销售货物、劳务、服务、无形资产、不动产时,应纳税额为当期销项税额抵扣当期进项税额后的余额。可以降低企业的负税。 退税勾选:与出口退税相关。出口退税主要是针对出口货物退还在国内生产和流通环节实际缴纳的增值税和消费税。直接可以获得退税,而不是减少缴税。 不抵扣勾选:指的是发票用途中不包括抵扣或退税的选项,也就是说这个抵扣又不会抵扣需要缴纳的税额,又不能给你退税。

image.png


第三个界面是发票勾选-底账库,该页面只能查询从税局拉取到的进项的发票(拉取逻辑详情请见第四点),主要是在这个页面做勾选操作,(特殊逻辑:这个界面只能查询开票日期止是当前税号税期的最后一天,比如当前202408税期,那么只能查询到开票日期为你选择的开票日期起到20240831的发票信息)

image.png


第四个页面就是发票勾选-发票池,该页面是从共享发票池同步的发票过来的发票,拉取是通过定时器拉取的,(特殊逻辑:在这个界面做勾选的时候,有时候会提示底账库不存在,是因为勾选我们只认税局传过来的发票,如果确定发票确实在税局存在,但是在进项底账库没有,这个时候该排查的是第四点,也请和客户确认下是否在税局做了勾选

image.png


定时器逻辑:

第一步:查询public配置的所有纳税人信息,注意只会查询纳税人类型为一般纳税人信息,拿到税号 第二步:调用发票池的接口,增量查询出第一步的税号中的发票类型为12、14、18、21、32和已报销的原票信息 第三步:根据发票池传过来的发票号码和发票代码去input_invoice查询是否存在数据,不存在则新增,存在则修改

六、勾选业务 勾选业务是一个异步的功能,先在页面上勾中发票点击勾选,或者通过导入勾选excel导入,都可以达到向税局发起勾选的效果

image.png


发起勾选逻辑: 第一步:生成批次号,批次号逻辑同第四点

第二步:将批次号保存到INPUT_CHECK_RECORD表中 第三步:组装业务数据调用interface,interface将派平台需要的加密数据组装传给派平台 第四步:拿到返回数修改INPUT_CHECK_RECORD



INPUT_CHECK_RECORD
字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
REQ_SERIAL_NUMBER请求流水VARCHAR2100
BUYER_NUMBER购方税号VARCHAR2100
BUYER_NAME购方名称VARCHAR2100
PROCESS_STATE处理状态(1:待处理、2:处理中、3:处理失败、4:处理成功)VARCHAR260
TAX_PERIOD认证归属期VARCHAR260
DEDUCT_TYPE抵扣类型(1:抵扣、2:退税、3:代办退税、4:不抵扣、5:撤销抵扣、6:撤销不抵扣)VARCHAR260
IS_ONE是否一键抵扣(Y/N)CHAR1
EXTEND_STR拓展字段:字符类型VARCHAR2500
EXTEND_NUM拓展字段:数值类型NUMBER15,2
EXTEND_DATE拓展字段:时间类型TIMESTAMP(6)11
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11
ARCHIVE_FLAG归档标识(Y/N)VARCHAR2100
ARCHIVE_DATE归档时间TIMESTAMP(6)11
INPUT_CHECK_RECORD_DETAIL
字段名称字段备注字段类型字段长度允许为空
IDIDVARCHAR264
CHECK_RECORD_ID勾选记录IDVARCHAR264
INVOICE_ID发票IDVARCHAR264
EXTEND_STR拓展字段:字符类型VARCHAR2500
EXTEND_NUM拓展字段:数值类型NUMBER15,2
EXTEND_DATE拓展字段:时间类型TIMESTAMP(6)11
VALIDITY_FLAG是否有效 0:有效 1:无效CHAR1
ENABLED_FLAG是否可见 0:可见 1:不可见CHAR1
GROUP_ID集团IDVARCHAR264
CREATE_BY创建者VARCHAR264
CREATE_DATE创建时间TIMESTAMP(6)11
LAST_UPDATE_BY更新者VARCHAR264
LAST_UPDATE_DATE更新时间TIMESTAMP(6)11是 获取勾选结果逻辑: 第一步:先查询INPUT_CHECK_RECORD表,查询其中为处理中的表数据 第二步:组装数据,调用派平台 第三步:获取到派平台的结果,修改input_invocie表和记录表





文章标签: 进项发票
推荐指数:

真诚点赞 诚不我欺~

进项认证系统

加载中...

关于作者

商亚东1231

社区用户

等级 LV1

粉丝 0

获赞 0

经验 74

目录