金蝶K3发票系统与航天金税系统对接批量打印发票功能实现
2017-08-01 09:45
423 查看
金蝶K3系统发票生成后,可以通过Excel调用K3后台发票视图,生成航天金税系统可导入的Excel格式,实现发票的批量半自动打印,以节省手工KEY单时间和出错概率。
使用工具:Excel2007;金蝶K3 WISE 12.3;IMS系统;航天金税系统。
一、数据逻辑:
国内发票数据逻辑:国内发票分为专票/普票
专票、普票关联逻辑:IMS系统或者K3做好销售订单与发票种类对应关系,金税一般有普通发票与专用发票两种,需要做好对应关系以便将该字段引入金税;
软硬件价格分离逻辑:对于软件退税企业来说,发票金额一般分为三部分:标准软件类产品硬件价格、标准软件类产品软件价格、非软件类产品价格,前2类是可以退税的,需要将软件与硬件开票金额剥离以便后期退税。需要在IMS系统或者K3系统做好产品编码与软件价格、硬件价格、注册软件名称的对应关系。产品单价=软件价格+硬件价格(一般为固定值);
国际出口发票数据逻辑:国际出口发票需要在备注中带出订单相关的数据(合同号、贸易方式、币种、合同FOB总价、运保费、合同总额、汇率)
二、数据设计:根据金税系统导入模板要求设计数据库查询视图,代码如下:
国内发票:
1、创建国内发票视图
3、将Excel引入金税系统开票(前提是金税系统已经创建好了客户的开票数据)。不再赘述。
国际出口发票:
1、创建国际发票视图:
3、将Excel引入金税系统开票(前提是金税系统已经创建好了客户的开票数据)。不再赘述。
三、后续需要打印发票时,先在K3下推销售出库生成销售发票,不要审核,然后刷新Excel的数据库连接,取到数据后保存Excel,再将Excel引入金税系统开票打印。打印完毕后,可以在系统对发票进行审核勾稽等动作。
使用工具:Excel2007;金蝶K3 WISE 12.3;IMS系统;航天金税系统。
一、数据逻辑:
国内发票数据逻辑:国内发票分为专票/普票
专票、普票关联逻辑:IMS系统或者K3做好销售订单与发票种类对应关系,金税一般有普通发票与专用发票两种,需要做好对应关系以便将该字段引入金税;
软硬件价格分离逻辑:对于软件退税企业来说,发票金额一般分为三部分:标准软件类产品硬件价格、标准软件类产品软件价格、非软件类产品价格,前2类是可以退税的,需要将软件与硬件开票金额剥离以便后期退税。需要在IMS系统或者K3系统做好产品编码与软件价格、硬件价格、注册软件名称的对应关系。产品单价=软件价格+硬件价格(一般为固定值);
国际出口发票数据逻辑:国际出口发票需要在备注中带出订单相关的数据(合同号、贸易方式、币种、合同FOB总价、运保费、合同总额、汇率)
二、数据设计:根据金税系统导入模板要求设计数据库查询视图,代码如下:
国内发票:
1、创建国内发票视图
CREATE view [dbo].[cnfapiao] as select t.fbillno 单据编号,t6.F208SED 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号, t1.fqty 数量,t6.FE59AXC '单价(含税/不含税)',t1.fqty*t6.FE59AXC '金额(含税/不含税)','' 备注,'0.17' 税率, case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类, '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写 '0' 享受优惠政策, '1.0' 版本号 from icsale t inner join icsaleentry t1 on t1.finterid=t.finterid inner join t_Organization t2 on t2.fitemid=t.fcustid inner join t_icitem t3 on t3.fitemid=t1.fitemid inner join seorder t4 on t4.finterid=t1.forderinterid left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据IMS系统销售订单关联发票信息 inner join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FH20L1O-t6.FE59AXC>0--根据IMS系统物料关联硬件信息 where t.FExchangeRate=1 and t.fcheckerid is null--硬件价格 union all select t.fbillno 单据编号,t6.FAPK2U9 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号, t1.fqty 数量,t1.fauxtaxprice-t6.FE59AXC '单价(含税/不含税)',t1.fqty*(t1.fauxtaxprice-t6.FE59AXC) '金额(含税/不含税)','' 备注,'0.17' 税率, case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类, '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写 '0' 享受优惠政策,'1.0' 版本号 from icsale t inner join icsaleentry t1 on t1.finterid=t.finterid inner join t_Organization t2 on t2.fitemid=t.fcustid inner join t_icitem t3 on t3.fitemid=t1.fitemid inner join seorder t4 on t4.finterid=t1.forderinterid left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据销售订单关联发票信息 inner join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FH20L1O-t6.FE59AXC>0--根据物料关联硬件信息 --inner join t_MeasureUnit t4 on t4.fitemid=t1.funitid where t.FExchangeRate=1 and t.fcheckerid is null--软件价格 union all select t.fbillno 发票号码,t6.F208SED 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号, t1.fqty 数量,t1.fauxtaxprice '单价(含税/不含税)',t1.fqty*t1.fauxtaxprice '金额(含税/不含税)','' 备注,'0.17' 税率, case when t5.FP7B2S6='增值税普通发票' then '普通发票' else '专用发票' end 发票种类, '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写 '0' 享受优惠政策,'1.0' 版本号 from icsale t inner join icsaleentry t1 on t1.finterid=t.finterid inner join t_Organization t2 on t2.fitemid=t.fcustid inner join t_icitem t3 on t3.fitemid=t1.fitemid inner join seorder t4 on t4.finterid=t1.forderinterid left join [IMS].[portal].[dbo].T24162222255Xg33 t5 on t5.F15662P2222X564=right(CONVERT(varchar,t4.FBillNo),8)--根据销售订单关联发票信息 INNER join [IMS].[portal].[dbo].TTP2A0J t6 on t6.FW5M1ZH=t3.Fnumber and t6.FE59AXC=t6.FH20L1O--根据物料关联硬件信息 --inner join t_MeasureUnit t4 on t4.fitemid=t1.funitid where t.FExchangeRate=1 and t.fcheckerid is null--非软件类产品清单2、Excel调用视图:
3、将Excel引入金税系统开票(前提是金税系统已经创建好了客户的开票数据)。不再赘述。
国际出口发票:
1、创建国际发票视图:
CREATE view [dbo].[outfapiao] as select distinct t.fbillno 单据编号,t3.fname 商品及劳务名称,t2.fname '发票抬头/客户信息(名称)','台' 计量单位,t3.fmodel 规格型号, t1.fqty 数量,t1.Fstdamount/t1.fqty '单价(含税/不含税)',t1.Fstdamount '金额(含税/不含税)', '合同号:'+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) 备注, '0' 税率,'普通发票' 发票种类, '1090242040000000' '税收分类编码(16位)',--请根据公司实际情况填写 '0' 享受优惠政策,'1.0' 版本号 from icsale t inner join icsaleentry t1 on t1.finterid=t.finterid inner join t_Organization t2 on t2.fitemid=t.fcustid inner join t_icitem t3 on t3.fitemid=t1.fitemid inner join seorder t4 on t4.finterid=t1.forderinterid inner join t_currency t5 on t5.fcurrencyid=t.fcurrencyid where t.FExchangeRate>1 and t.fcheckerid is null and (t1.fitemid>22565 or t1.fitemid<22563) and t1.Fprice>02、同上Excel引入视图:
3、将Excel引入金税系统开票(前提是金税系统已经创建好了客户的开票数据)。不再赘述。
三、后续需要打印发票时,先在K3下推销售出库生成销售发票,不要审核,然后刷新Excel的数据库连接,取到数据后保存Excel,再将Excel引入金税系统开票打印。打印完毕后,可以在系统对发票进行审核勾稽等动作。
相关文章推荐
- Android通过系统打印功能实现PDF预览打印
- 使用shell和python分别实现简单菜单功能--打印当前系统状态信息
- java-第二章-升级我行我素购物管理系统,实现打印小票和计算积分功能.
- 模块管理常规功能自己定义系统的设计与实现(16--模块数据的导出和打印[1])
- 在PeopleSoft系统中实现打印页面的功能
- iOS webview打印功能的实现(包含系统原生分享交互视图)
- winform实现发票打印功能
- 模块管理常规功能自定义系统的设计与实现(16--模块数据的导出和打印[1])
- 类名:Pay (购物管理系统,实现结账计算,打印购物小票,计算积分功能)8
- 利用Word模板功能实现家长通知书的批量打印
- 使用shell和python分别实现简单菜单功能--打印当前系统状态信息
- 模块管理常规功能自定义系统的设计与实现(17--模块数据的导出和打印[2])
- 第三方系统的NC对接,实现凭证自动导入功能
- 模块管理常规功能自定义系统的设计与实现(10--数据新增[三、批量导入数据])
- 百富POS机A920安卓系统打印功能的实现
- spring,spring mvc与mybatis的整合并且实现分页与log4j打印输出功能
- Atitit.收银系统pos 以及打印功能的行业标准
- linux嵌入式系统下实现U盘、SD卡自动挂载功能
- C#实现文件打印功能
- 使用iOS AirPrint 让你的APP轻松实现打印功能