航天,百旺组件开票调用说明

调用方法一:(SHKJKP.dll) 

32位

functionSHKP(parameter:pansichar):pansichar;stdcall; external SHKJKP.dll';

64位平台

functionSHKP(parameter:pansichar):pansichar;stdcall; external SHKJKPx64.dll';

 

说明:不同的parameter功能传不同的值,下面为各功能的值。


相应文件可以在http://sh-gz.cn/下载


航天初始化:

'{"LX":"Of_Uninit"}'

'{"LX":"Of_init","QYSH":"企业税号","CERT":"12345678","FJH":"0"}'

JSON说明:企业税号,证书密码,分机号

 

百旺初始化

'{"LX":"of_bw_init","URL":"https://skfp.tax.sh.gov.cn/acceptFramework/UniAcceptService","JSPPASSWORD":"","ZSPASSWORD":"12345678"}'

JSON说明:税务局URL(参考百旺的参数设置),金税盘口令,证书口令

  初始化调用示例1: 传入参数:{"LX":"of_bw_init","JSPPASSWORD":"66666666","ZSPASSWORD":"12345678"}

  初始化返回值:  成功 {"Result":"1","Message":""}

                失败 {"Result":"0","Message":"失败说明"}

 

获取发票信息

'{"LX":"GetInfo","KPJLX":"0","FPZL":"41"}'

 

JSON说明:

开票机类型(0航天1百旺)、发票种类(0 专票,2 普票,51 电票,41卷式发票 12 机动车发票)

 调用示例1: 查询参数:{"LX":"GetInfo","KPJLX":"1","FPZL":"0"}

返回{"Result":"1","FPDM":"4400173130","FPHM":"4094639","COUNT":"79","Message":""}

 

开票

'{"LX":"KP","KPJLX":"0","FPZL":"41","TEST":"1","XML":"XML并且经过base64编码"}'

 

JSON说明:

开票机类型(0航天1百旺)、发票种类 (0 专票,2 普票,51 电票,41卷式发票 12 机动车发票),TEST 是否检验数据1不开票仅做数据检查、0直接开票,KP的xml数据

 开票调用示例1: 传入参数:

{"LX":"KP","KPJLX":"1","FPZL":"0","XML":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0IyMzEyIj8+DQo8Q29uZmlnPg0KICA8SW52b2ljZUxpc3Q+DQogICAgICAgIDxJbnZIZWFkIEludm9pY2VOdW1iZXI9IjQ5ODQwMzEwNTIwNjEzMTIiIEN1c3RvbWVyTmFtZT0iyc+6o760zamyzdL7udzA7dPQz965q8u+IiBDdXN0b21lclRheENvZGU9IjkxMzEwMjMwTUExSlk0TFE5UCIgQWRkcmVzc0FuZFBob25lPSKz58P3x/izx8fF1fLQ48m9wrc4usUztLHSu8f4MDIxLTgwMzkyNDE3IiBCYW5rQW5kQWNjb3VudD0i1tC5+sWp0rXS+NDQu8a2ydan0NAwMzgzMDEwMDA0MDA0ODM2MyIgSkdDUz0iMSIgU2VsbGVyQmFua05hbWU9ItXQyczS+NDQucm33dPQz965q8u+xP6yqL2tsbHWp9DQNTc0OTA2MjUzNjEwMjAxIiBLSFNKPSIxMzY4MTIzNDU2NzgiIEtIWUo9IjMyOTEwNDQ4NDZAcXEuY29tIiBTZWxsZXJBZHJyUGhvbmU9IrnjtqvKobnj1t3K0MzsutPH+NbQyb2087XAMTAzNbrF06+4u8nMzvG088/DN8KlMDIwMTIzNDU2NzgiIFNlbGxlclRheENvZGU9IjkxNDQwMTAxTUE1OUxDSzE3MCIgRlBaTD0iMCIgSW52b2ljZU1lbW89IrG416IxMjMiIEtQUj0iwLXQocflIiBTS1I9Ire2zsC9+iIgRkhSPSK3ts7AvfoiIEZQSE09IiIgQ0hGUEg9IiIgQW1vdW50PSIxMDAiIFRheEFtb3VudD0iNiIgSW5UYXhBbW91bnQ9IjEwNiIgVGF4UmF0ZT0iNiIgSXNMaXN0aW5nPSIwIiBKRUZTPSIwIiBSb3dDb3VudD0iMCIvPg0KICAgICAgICA8SW52RGV0YWlsPg0KICAgICAgICAgICAgPERldGFpbEVudHJ5IFByb2R1Y3RDb2RlPSIzMDQwMjAxMDMiIEVudHJ5TnVtYmVyPSIxIiBQcm9kdWN0TmFtZT0ivLzK9bf+zvG30SIgUHJvZHVjdE1vZGVsPSLV+8zXIiBQcm9kdWN0VW5pdD0izNciIFRheFJhdGU9IjYiIFF1YW50aXR5PSIxIiBQcmljZT0iMTAwIiBIU0RKPSIxMDYiIEFtb3VudD0iMTAwIiBUYXhBbW91bnQ9IjYiIFJvd0F0dHJpYj0iMCIgUHJvZHVjdFR5cGVzPSI0MDAxIiBGbGJtPSIzMDQwMjAxMDMwMDAwMDAwMDAwIiBYc3loPSIwIiBMc2x2YnM9IiIgWWhzbT0iIi8+DQogICAgICAgIDwvSW52RGV0YWlsPg0KICA8L0ludm9pY2VMaXN0ID4NCjwvQ29uZmlnPg0K"}

 

 开票返回值:

{"Result":"1","XML":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iR0IyMzEyIj8+DQo8Q29uZmlnPg0KCTxJbnZvaWNlTGlzdD4NCgkJPEludkhlYWQgSW52b2ljZU51bWJlcj0iNDk4NDAzMTA1MjA2MTMxMiIgQ3VzdG9tZXJOYW1lPSLJz7qjvrTNqbLN0vu53MDt09DP3rmry74iIEN1c3RvbWVyVGF4Q29kZT0iOTEzMTAyMzBNQTFKWTRMUTlQIiBBZGRyZXNzQW5kUGhvbmU9IrPnw/fH+LPHx8XV8tDjyb3Ctzi6xTO0sdK7x/gwMjEtODAzOTI0MTciIEJhbmtBbmRBY2NvdW50PSLW0Ln6xanStdL40NC7xrbJ1qfQ0DAzODMwMTAwMDQwMDQ4MzYzIiBKR0NTPSIxIiBTZWxsZXJCYW5rTmFtZT0i1dDJzNL40NC5ybfd09DP3rmry77E/rKova2xsdan0NA1NzQ5MDYyNTM2MTAyMDEiIEtIU0o9IjEzNjgxMjM0NTY3OCIgS0hZSj0iMzI5MTA0NDg0NkBxcS5jb20iIFNlbGxlckFkcnJQaG9uZT0iueO2q8qhuePW3crQzOy608f41tDJvbTztcAxMDM1usXTr7i7yczO8bTzz8M3wqUwMjAxMjM0NTY3OCIgU2VsbGVyVGF4Q29kZT0iOTE0NDAxMDFNQTU5TENLMTcwIiBGUFpMPSIwIiBJbnZvaWNlTWVtbz0isbjXojEyMyIgS1BSPSLAtdChx+UiIFNLUj0it7bOwL36IiBGSFI9Ire2zsC9+iIgRlBITT0iIiBDSEZQSD0iIiBBbW91bnQ9IjEwMCIgVGF4QW1vdW50PSI2IiBJblRheEFtb3VudD0iMTA2IiBUYXhSYXRlPSI2IiBJc0xpc3Rpbmc9IjAiIEpFRlM9IjAiIFJvd0NvdW50PSIwIiBSRVRDT0RFPSIwMDAwMDAzMiIgUkVUTVNHPSLLsL/YyeixuNC0t6LGscP3z7jKsdLss6MgIERpc2tFcnI6MDlkMTFmIi8+DQoJCTxJbnZEZXRhaWw+DQoJCQk8RGV0YWlsRW50cnkgUHJvZHVjdENvZGU9IjMwNDAyMDEwMyIgRW50cnlOdW1iZXI9IjEiIFByb2R1Y3ROYW1lPSK8vMr1t/7O8bfRIiBQcm9kdWN0TW9kZWw9ItX7zNciIFByb2R1Y3RVbml0PSLM1yIgVGF4UmF0ZT0iNiIgUXVhbnRpdHk9IjEiIFByaWNlPSIxMDAiIEhTREo9IjEwNiIgQW1vdW50PSIxMDAiIFRheEFtb3VudD0iNiIgUm93QXR0cmliPSIwIiBQcm9kdWN0VHlwZXM9IjQwMDEiIEZsYm09IjMwNDAyMDEwMzAwMDAwMDAwMDAiIFhzeWg9IjAiIExzbHZicz0iIiBZaHNtPSIiLz4NCgkJPC9JbnZEZXRhaWw+DQoJPC9JbnZvaWNlTGlzdD4NCjwvQ29uZmlnPg0K"}

 

作废

'{"LX":"ZF","KPJLX":"0","FPZL":"41","FPDM":"","FPHM":""}'

JSON说明:

开票机类型(0航天1百旺)、发票种类 (0 专票,2 普票,51 电票,41卷式发票 12 机动车发票)、发票代码,发票号码

  作废调用 示例1:

     传入参数{"LX":"ZF","KPJLX":"1","FPZL":"0","FPDM":"4400173130","FPHM":"04138547"}

     返回值  {"Result":"0","Message":"FPZF-ZF-不能作废发票或开具红字发票,原发票已开作废发票"}

打印发票

'{"LX":"PrintFP","KPJLX":"0","FPZL":"41","FPDM":"","FPHM":"","QDBZ":"","ISVISIBLE":""}'

JSON说明:

开票机类型(0航天1百旺)、发票种类(0 专票,2 普票,51 电票,41卷式发票 12 机动车发票),发票代码,发票号码,打印类型(0打印发票 1打印清单),是否显示打印设置窗口(0不显示 1显示)

   打印调用示例1:

           传入参数:

{"LX":"PrintFP","KPJLX":"1","FPZL":"0","FPDM":"4400173130","FPHM":"04138532","QDBZ":"0","ISVISIBLE":"0"}

           返回值  :{"Result":"1","Message":""}

调用方法二:采用OCX调用

COM名称:KPOCXDLL.KP

 

functionSHKP(const Param1: WideString): WideString; safecall;

调用方法三:在 B/S架构中,JS写法

myCst.CallFun('SHKJKP.dll','SHKP','{"LX":"Of_init","QYSH":"税号","CERT":"12345678","FJH":"0"}');

myCst.CallFun('SHKJKP.dll','SHKP',''{"LX":"Of_Uninit"}');

myCst.CallFun('SHKJKP.dll','SHKP',''{"LX":"of_bw_init","JSPPASSWORD":"","ZSPASSWORD":"12345678"}'

);

alert(myCst.CallFun('SHKJKP.dll','SHKP','{"LX":"GetInfo","KPJLX":"0","FPZL":"41"}'));

alert(myCst.CallFun('SHKJKP.dll','SHKP','{"LX":"KP","KPJLX":"0","FPZL":"41","XML":"XML并且经过base64编码"}'));

alert(myCst.CallFun('SHKJKP.dll','SHKP','{"LX":"ZF","KPJLX":"0","FPZL":"41","FPDM":"","FPHM":""}'));

alert(myCst.CallFun('SHKJKP.dll','SHKP','{"LX":"PrintFP","KPJLX":"0","FPZL":"41","FPDM":"","FPHM":"","QDBZ":"0","ISVISIBLE":"1"}'));

 

xml:说明:

<?xmlversion="1.0" encoding="GB2312"?>

<Config>

  <InvoiceList>

        <InvHead InvoiceNumber="单据号" CustomerName="客户名称" CustomerTaxCode="税号" AddressAndPhone="地址" BankAndAccount="客户银行账号" JGCS=”1”SellerBankName="销方银行账号" KHSJ=”客户手机”KHYJ=”客户邮件” SellerAdrrPhone="销方地址和电话" SellerTaxCode=”销方税号”FPZL=”发票种类” InvoiceMemo="备注" KPR="开票人" SKR="收款人" FHR="复核人" FPHM=”红冲发票原发票号” CHFPH="信息表编号" Amount=”整张发票不含税金额” TaxAmount=”整张发票税额” InTaxAmount=”整张发票价税合计” TaxRate=”税率” IsListing=”是否开具清单0不强制开清单 1强制开清单”JEFS=”正常票0 红冲票1” RowCount=”0”/>

        <InvDetail>

            <DetailEntry ProductCode="产品代码" EntryNumber=”行号,从1开始算起”ProductName="产品名称" ProductModel="产品型号" ProductUnit="产品单位" TaxRate="税率" Quantity="数量" Price=”不含税价” HSDJ=”含税价” Amount="不含税金额" TaxAmount="税额" RowAttrib=”行性质0正常行 3被折扣行 4折扣行” ProductTypes="4001" Flbm="分类编码" Xsyh="税率优惠 0无优惠1有优惠" Lslvbs="零税率标志" Yhsm="优惠说明"/>

        </InvDetail>

  </InvoiceList >

</Config>

如果是多张发票:那么就多个 InvoiceList节点,如果一张发票,多行明细,那么就多个 DetailEntry节点

 

名称

说明

是否可以为空

备注

默认值

InvoiceNumber

单据号

否

 

 

CustomerName

客户名称

否

 

 

CustomerTaxCode

客户税号

是

按税务规定,开具给企业的发票必需有税号

 

AddressAndPhone

客户地址电话

是

 

 

BankAndAccount

客户银行账号

是

 

 

KHSJ

客户手机

是

 

 

KHYJ

客户邮件

是

 

 

SellerBankName

销方银行账号

否

 

 

SellerAdrrPhone

销方地址和电话

否

 

 

SellerTaxCode

销方税号

否

 

 

FPZL

发票种类

否

 

 

InvoiceMemo

备注

是

 

 

KPR

开票人

否

 

 

SKR

收款人

是

 

 

FHR

复核人

是

 

 

FPHM

红冲发票原发票号

是

当发票种类是普票、电票、卷票、运输发票并且JEFS=1时,必需传原发票号过来

 

CHFPH

红字信息表编码

是

当发票种类是专票并且JEFS=1时,必需传红字信息表编号

 

Amount

整张发票不含税金额

否

等于 明细行的 Amount 之和

 

TaxAmount

整张发票税额

否

等于 明细行的 TaxAmount 之和

 

InTaxAmount

整张发票价税合计

否

等于 Amount+ TaxAmount

 

TaxRate

税率

是

可以是17,也可以是0.17,当明细行有多种税率时,必需是空

 

IsListing

是否强制开具清单

否

0 不进行强制,由系统自动处理,当超过8行明细时,系统自动出具清单。

1 进行强制转换成清单,强制转换后,没超过8行明细也会出具清单

0

JEFS

开具类型

否

0 正常发票 1 红字发票

0

RowCount

明细汇总行数

否

用固定值 0

0

明细字段说明

ProductCode

产品代码

是

 

 

EntryNumber

行号

否

从1开始算起

 

ProductName

产品名称

否

 

 

ProductModel

产品型号

是

 

 

ProductUnit

产品单位

是

 

 

TaxRate

税率

否

可以是17,也可以是0.17

 

Quantity

数量

是

当不需要打印数量时,传空

 

Price

不含税价

是

当不需要打印单价时,传空

 

HSDJ

含税价

是

当不需要打印单价时,传空

 

Amount

不含税金额

否

 

 

TaxAmount

税额

否

 

 

RowAttrib

行性质

否

正常行 :0 被折扣行 3 折扣行 4

 

ProductTypes

商品税目

是

4001代表是 商品销售

4001

Flbm

分类编码

否

 

 

Xsyh

税收优惠

否

无税收优惠0 有税收优惠1

 

Lslvbs

零税率标志

是

当税收优惠=1时 免税 1出口零税 0不征税 2 其它3,当税收优惠是0时,空

 

Yhsm

优惠说明

是

 

 

 

 

注意:如果红字 带清单的,只需要传一行明细, 产品名称必需是 详见对应正数发票及清单


阅读更多

更多精彩内容