金蝶K3发票系统与航天金税系统对接批量打印发票功能实现

使用工具:Excel2007;金蝶K3 WISE 12.3;IMS系统;航天金税系统。

一、数据逻辑:

国内发票数据逻辑:国内发票分为专票/普票

 

  1. 专票、普票关联逻辑:IMS系统或者K3做好销售订单与发票种类对应关系,金税一般有普通发票与专用发票两种,需要做好对应关系以便将该字段引入金税;
  2. 软硬件价格分离逻辑:对于软件退税企业来说,发票金额一般分为三部分:标准软件类产品硬件价格、标准软件类产品软件价格、非软件类产品价格,前2类是可以退税的,需要将软件与硬件开票金额剥离以便后期退税。需要在IMS系统或者K3系统做好产品编码与软件价格、硬件价格、注册软件名称的对应关系。产品单价=软件价格+硬件价格(一般为固定值);

国际出口发票数据逻辑:国际出口发票需要在备注中带出订单相关的数据(合同号、贸易方式、币种、合同FOB总价、运保费、合同总额、汇率)

 

二、数据设计:根据金税系统导入模板要求设计数据库查询视图,代码如下:

 

 

国内发票:

1、创建国内发票视图

 

 
  1. CREATE view [dbo].[cnfapiao]

  2. as

  3. select t.fbillno 单据编号,t6.F208SED 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号,

  4. t1.fqty 数量,t6.FE59AXC '单价(含税/不含税)',t1.fqty*t6.FE59AXC '金额(含税/不含税)','' 备注,'0.17' 税率,

  5. case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类,

  6. '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写

  7. '0' 享受优惠政策,

  8. '1.0' 版本号

  9. from icsale t

  10. inner join icsaleentry t1 on t1.finterid=t.finterid

  11. inner join t_Organization t2 on t2.fitemid=t.fcustid

  12. inner join t_icitem t3 on t3.fitemid=t1.fitemid

  13. inner join seorder t4 on t4.finterid=t1.forderinterid

  14. left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据IMS系统销售订单关联发票信息

  15. inner join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FH20L1O-t6.FE59AXC>0--根据IMS系统物料关联硬件信息

  16. where t.FExchangeRate=1 and t.fcheckerid is null--硬件价格

  17.  
  18. union all

  19.  
  20. select t.fbillno 单据编号,t6.FAPK2U9 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号,

  21. t1.fqty 数量,t1.fauxtaxprice-t6.FE59AXC '单价(含税/不含税)',t1.fqty*(t1.fauxtaxprice-t6.FE59AXC) '金额(含税/不含税)','' 备注,'0.17' 税率,

  22. case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类,

  23. '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写

  24. '0' 享受优惠政策,'1.0' 版本号 from icsale t

  25. inner join icsaleentry t1 on t1.finterid=t.finterid

  26. inner join t_Organization t2 on t2.fitemid=t.fcustid

  27. inner join t_icitem t3 on t3.fitemid=t1.fitemid

  28. inner join seorder t4 on t4.finterid=t1.forderinterid

  29. left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据销售订单关联发票信息

  30. inner join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FH20L1O-t6.FE59AXC>0--根据物料关联硬件信息

  31. --inner join t_MeasureUnit t4 on t4.fitemid=t1.funitid

  32. where t.FExchangeRate=1 and t.fcheckerid is null--软件价格

  33.  
  34. union all

  35.  
  36. select t.fbillno 发票号码,t6.F208SED 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号,

  37. t1.fqty 数量,t1.fauxtaxprice '单价(含税/不含税)',t1.fqty*t1.fauxtaxprice '金额(含税/不含税)','' 备注,'0.17' 税率,

  38. case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类,

  39. '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写

  40. '0' 享受优惠政策,'1.0' 版本号

  41. from icsale t

  42. inner join icsaleentry t1 on t1.finterid=t.finterid

  43. inner join t_Organization t2 on t2.fitemid=t.fcustid

  44. inner join t_icitem t3 on t3.fitemid=t1.fitemid

  45. inner join seorder t4 on t4.finterid=t1.forderinterid

  46. left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据销售订单关联发票信息

  47. INNER join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FE59AXC=t6.FH20L1O--根据物料关联硬件信息

  48. --inner join t_MeasureUnit t4 on t4.fitemid=t1.funitid

  49. where t.FExchangeRate=1 and t.fcheckerid is null--非软件类产品清单

2、Excel调用视图:

 


3、将Excel引入金税系统开票(前提是金税系统已经创建好了客户的开票数据)。不再赘述。

 

国际出口发票:

1、创建国际发票视图:

 

 
  1. CREATE view [dbo].[outfapiao]

  2. as

  3. select distinct t.fbillno 单据编号,t3.fname 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号,

  4. t1.fqty 数量,t1.Fstdamount/t1.fqty '单价(含税/不含税)',t1.Fstdamount '金额(含税/不含税)',

  5. '合同号:'+t4.fbillno+'\n'+'贸易方式:一般贸易'+'\n'+'币种:'+t5.fname+'\n'+'合同FOB总价:'+convert(nvarchar,(select sum(q.famount) from icsaleentry q where q.finterid=t.finterid and (q.fitemid>22565 or q.fitemid<22563)))+'运保费:'+case when (convert(nvarchar,(select sum(u.famount) from icsaleentry u where u.finterid=t.finterid and u.fitemid<22566 and u.fitemid>22562))) is null then '0' else (convert(nvarchar,(select sum(u.famount) from icsaleentry u where u.finterid=t.finterid and u.fitemid<22566 and u.fitemid>22562))) end+'合同总额'+convert(nvarchar,(select sum(w.famount) from icsaleentry w where w.finterid=t.finterid))+'\n'+'汇率:'+convert(nvarchar,t.FExchangeRate) 备注,

  6. '0' 税率,'普通发票' 发票种类,

  7. '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写

  8. '0' 享受优惠政策,'1.0' 版本号 from icsale t

  9. inner join icsaleentry t1 on t1.finterid=t.finterid

  10. inner join t_Organization t2 on t2.fitemid=t.fcustid

  11. inner join t_icitem t3 on t3.fitemid=t1.fitemid

  12. inner join seorder t4 on t4.finterid=t1.forderinterid

  13. inner join t_currency t5 on t5.fcurrencyid=t.fcurrencyid

  14. where t.FExchangeRate>1 and t.fcheckerid is null and (t1.fitemid>22565 or t1.fitemid<22563) and t1.Fprice>0

2、同上Excel引入视图: 

 

3、将Excel引入金税系统开票(前提是金税系统已经创建好了客户的开票数据)。不再赘述。

 

三、后续需要打印发票时,先在K3下推销售出库生成销售发票,不要审核,然后刷新Excel的数据库连接,取到数据后保存Excel,再将Excel引入金税系统开票打印。打印完毕后,可以在系统对发票进行审核勾稽等动作。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值