# Invoice
**Repository Path**: arthurliuyuhao/Invoice
## Basic Information
- **Project Name**: Invoice
- **Description**: 航信电子发票开具和签章
- **Primary Language**: Java
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 15
- **Created**: 2024-10-22
- **Last Updated**: 2024-10-22
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 航信全国版电子发票开具与签章
### 使用说明
**注意:
1.部署时候PKCS7.JAVA 要单独打包 和它引用的包一起放在放在 tomcat\lib\目录下【PKCS7.JAR, commons-io-2.4.jar,guava-2.0.jar】,否则重启应用会报错动态库已经被加载
2.CA加密相关文件放在 D盘 CA目录下
3.PKCS7.JAVA必须在com.aisino包下,否则会报错
4.出问题就找航信**
### 金额计算公式
```
//含税金额=数量*含税单价
// 不含税金额 = 含税金额/( 1+税率) , 并保留两位小数
// 税额 = 含税金额 - 不含税金额
```
### 发票开具
* 接口地址 
```
http://127.0.0.1:8003/print
```
* 调用方式
```
Post
```
* 报文格式
```
{
    "InfoKind": "",
    "InfoSellerAddressPhone": "",
    "InfoSellerBankAccount": "",
    "InfoClientName": "",
    "InfoClientTaxCode": "",
    "InfoClientBankAccount": "",
    "InfoClientAddressPhone": "",
    "InfoCashier": "",
    "InfoChecker": "",
    "InfoInvoicer": "",
    "InfoNotes": "",
    "Details": [
        {
            "ListGoodsName": "",
            "ListStandard":"",
            "ListPrice": "",
            "ListUnit": "",
            "ListNumber": "",
            "ListPriceKind": "",
            "InfoTaxRate": ""
        }
    ]
}
```
* 参数说明
```
{
    "InfoKind":"",//发票种类 0:专票 2:普票 51:电子票
    "InfoSellerAddressPhone":"",//售方地址及电话
    "InfoSellerBankAccount":"",//售方开户行及账号
    "InfoClientName":"",//开票名称
    "InfoClientTaxCode":"",//购方税号
    "InfoClientBankAccount":"",//购方开户行及账号
    "InfoClientAddressPhone":"",//开票地址,电话
    "InfoCashier":"",//收款人
    "InfoChecker":"",//复核人
    "InfoInvoicer":"",//开票人
    "InfoNotes":"",//备注
    "Details":[//商品明细
        {
            "ListGoodsName":"",//服务名称
            "ListStandard":"",//规格型号
            "ListPrice":"",//单价
            "ListUnit":"",//单位
            "ListNumber":"",//数量
            "ListPriceKind":"",//含税价标志 
            "InfoTaxRate":""//税率 税率( 5%传 5)
        }
    ]
}
```
* 返回值
```
{
    "retCode": "",//返回代码 0:成功 1:失败
    "retMsg": "",//返回信息
    "InfoTypeCode": "",//发票代码
    "InfoNumber": ""//发票号码
}
```
### 发票作废
* 接口地址 
```
http://127.0.0.1:8003/cancel
```
* 调用方式
```
Post
```
* 报文格式
```
{
    "InfoKind": "",//发票种类 0:专票 2:普票
    "InfoTypeCode": "",//发票代码
    "InfoNumber": ""//发票号码
}
```
* 返回值
```
{
    "retCode": "",//返回代码 0:成功 1:失败
    "retMsg": "",//返回信息
}
```
### 发票冲红
* 接口地址同发票开具
```
/* 
开具负数增值税普通发票,必须在备注中注明“对应正数发票代
码 :XXXXXXXXXX 号码 :YYYYYYYY”字样,其中“ X”为发票左上角 10 位
或 12 位代码数字, “ Y”为发票右上角 8 位号码数字。
开具负数增值税专用发票,必须在备注中注明“开具红字增值税专用发票
信息表编号 XXXXXXXXXXXXXXXX”,其中 X 为信息表编号。
*/
```
### 电子发票
* 接口地址 
```
http://127.0.0.1:8003/Invoice/rs/aisino/invoice
```
* 调用方式
```
Post
```
* 报文格式
```
蓝字发票开票报文
{
    "InfoKind": "51",
    "InfoSellerAddressPhone": "新疆石河子市北二路14小区7号  0993-2080300",
    "InfoSellerBankAccount": "建行新疆区石河子市分行营业部 65001630100050002211",
    "InfoClientName": "购买方",
    "InfoClientTaxCode": "",
    "InfoClientBankAccount": "购买方银行银行",
    "InfoClientAddressPhone": "购买方地址电话",
    "InfoCashier": "收款",
    "InfoChecker": "复核",
    "InfoInvoicer": "开票",
    "InfoNotes": "2333",
    "KPLX":"0",  //开票类型  0正票 1 红票
    "operatorID":"123456",//操作员id
    "Details": [
        {
            "ListGoodsName": "基础水费",
            "ListStandard":"商业",
            "ListPrice": "10",
            "ListUnit": "1",
            "ListNumber": "1",
            "ListPriceKind": "1",
            "InfoTaxRate": "3"
        },
        {
            "ListGoodsName": "基础水费",
            "ListStandard":"商业",
            "ListPrice": "11",
            "ListUnit": "1",
            "ListNumber": "1",
            "ListPriceKind": "1",
            "InfoTaxRate": "3"
        }
    ]
}
```
```
红票
{
    "InfoKind": "51",
    "InfoSellerAddressPhone": "新疆石河子市北二路14小区7号  0993-2080300",
    "InfoSellerBankAccount": "建行新疆区石河子市分行营业部 65001630100050002211",
    "InfoClientName": "购买方",
    "InfoClientTaxCode": "",
    "InfoClientBankAccount": "购买方银行银行",
    "InfoClientAddressPhone": "购买方地址电话",
    "InfoCashier": "收款",
    "InfoChecker": "复核",
    "InfoInvoicer": "开票",
    "InfoNotes":"对应正数发票代码:065001700111号码:06429929",
    "KPLX":"1",  //1 红票
    "operatorID":"123456",//操作员id
    "YFP_DM":"065001700111",//原发票代码
    "YFP_HM":"06429929",//原发票号码
    "Details": [
        {
            "ListGoodsName": "基础水费",
            "ListStandard":"商业",
            "ListPrice": "10",
            "ListUnit": "1",
            "ListNumber": "1",
            "ListPriceKind": "1",
            "InfoTaxRate": "3"
        },
        {
            "ListGoodsName": "基础水费",
            "ListStandard":"商业",
            "ListPrice": "11",
            "ListUnit": "1",
            "ListNumber": "1",
            "ListPriceKind": "1",
            "InfoTaxRate": "3"
        }
    ]
}
```
* 返回值
```
{
    "retCode": "",//返回代码 0:成功 1:失败
    "retMsg": "",//返回信息
    "InfoTypeCode": "",//发票代码
    "InfoNumber": ""//发票号码
    "PDF_URL":"" //pdf 地址
}
```
### 发票模块相关信息
* 新增数据表
```
    
    
    
		
			
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
	
```
* 商品信息表的操作页面
```
需要包括 录入,修改和删除数据 
商品名称、商品编码必填
```
* 新增单值
```
售方纳税人识别号 
销售方名称
```