当前位置:   article > 正文

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

航天金税ak3

金蝶K3系统发票生成后,可以通过Excel调用K3后台发票视图,生成航天金税系统可导入的Excel格式,实现发票的批量半自动打印,以节省手工KEY单时间和出错概率。

使用工具: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. union all
  18. select t.fbillno 单据编号,t6.FAPK2U9 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号,
  19. t1.fqty 数量,t1.fauxtaxprice-t6.FE59AXC '单价(含税/不含税)',t1.fqty*(t1.fauxtaxprice-t6.FE59AXC) '金额(含税/不含税)','' 备注,'0.17' 税率,
  20. case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类,
  21. '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写
  22. '0' 享受优惠政策,'1.0' 版本号 from icsale t
  23. inner join icsaleentry t1 on t1.finterid=t.finterid
  24. inner join t_Organization t2 on t2.fitemid=t.fcustid
  25. inner join t_icitem t3 on t3.fitemid=t1.fitemid
  26. inner join seorder t4 on t4.finterid=t1.forderinterid
  27. left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据销售订单关联发票信息
  28. inner join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FH20L1O-t6.FE59AXC>0--根据物料关联硬件信息
  29. --inner join t_MeasureUnit t4 on t4.fitemid=t1.funitid
  30. where t.FExchangeRate=1 and t.fcheckerid is null--软件价格
  31. union all
  32. select t.fbillno 发票号码,t6.F208SED 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号,
  33. t1.fqty 数量,t1.fauxtaxprice '单价(含税/不含税)',t1.fqty*t1.fauxtaxprice '金额(含税/不含税)','' 备注,'0.17' 税率,
  34. case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类,
  35. '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写
  36. '0' 享受优惠政策,'1.0' 版本号
  37. from icsale t
  38. inner join icsaleentry t1 on t1.finterid=t.finterid
  39. inner join t_Organization t2 on t2.fitemid=t.fcustid
  40. inner join t_icitem t3 on t3.fitemid=t1.fitemid
  41. inner join seorder t4 on t4.finterid=t1.forderinterid
  42. left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据销售订单关联发票信息
  43. INNER join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FE59AXC=t6.FH20L1O--根据物料关联硬件信息
  44. --inner join t_MeasureUnit t4 on t4.fitemid=t1.funitid
  45. 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引入金税系统开票打印。打印完毕后,可以在系统对发票进行审核勾稽等动作。


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/297876
推荐阅读
相关标签
  

闽ICP备14008679号