✨ 新增BFI收票与开票接口(A302-6/A303-1/A303-2/A303-4/A303-5/A801-1/A801-2/A801-3)参数与返回实体

This commit is contained in:
刘泉佳
2026-09-16 18:33:18 +08:00
parent 55f4fba3da
commit a67a3ed8b6
23 changed files with 3222 additions and 0 deletions
@@ -0,0 +1,70 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A303-5 开票申请发票查询请求体
* <p>
* 请求示例(data 为原文 {"serialNo":"KPSQ-JCZX-202509-002270,KPSQ-JCZX-202509-002276","sellerTaxpayerId":"91450000MA5Q1G1M59"} Base64 编码后的字符串):
* <pre>{@code
* {
* "businessSystemCode": "XDWL02",
* "interfaceCode": "BILL.INVOICE.QUERY",
* "data": "ewogICAgICAgICJzZXJpYWxObyI6ICJLUFNRLUpDWlgtMjAyNTA5LTAwMjI3MCxLUFNRLUpDWlgtMjAyNTA5LTAwMjI3NiIsCiAgICAgICAgInNlbGxlclRheHBheWVySWQiOiAiOTE0NTAwMDBNQTVRMUcxTTU5IgogICAgfQ=="
* }
* }</pre>
*
* @author Chill
*/
@Data
public class BfiInvoiceApplyOpenApiBodyDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 请求id
*/
private String requestId;
/**
* 来源系统,城矿传 WCCK
*/
@JsonProperty("businessSystemCode")
private String businessSystemCode;
/**
* 接口编码,固定为 BILL.INVOICE.QUERY
*/
@JsonProperty("interfaceCode")
private String interfaceCode;
/**
* 请求 data,内容需加密成 base64 字符串
*/
private String data;
}
@@ -0,0 +1,51 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A303-5 开票申请发票查询 data 原文参数(需序列化为 JSON 后 Base64 编码放入请求体 data 字段)
*
* @author Chill
*/
@Data
public class BfiInvoiceApplyOpenApiQueryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 单据编号,即开票申请单的 billno 字段,多个用英文逗号隔开,上限50个
*/
private String serialNo;
/**
* 销方税号,即开票申请单的 salertaxno 字段
*/
private String sellerTaxpayerId;
}
@@ -0,0 +1,72 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A303-4 开票申请单查询参数
* <p>
* 请求示例:
* <pre>{@code
* GET /ierp/kapi/v2/awrp/sim/sim_original_bill/query?systemsource=WCCK&pageSize=10&pageNo=1
* }</pre>
*
* @author Chill
*/
@Data
public class BfiInvoiceApplyQueryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 页码,从1开始
*/
private Integer pageNo;
/**
* 页数
*/
private Integer pageSize;
/**
* 业务单据编号,高频查询需要推送该字段
*/
private List<String> billno;
/**
* 数据来源系统,城矿传 WCCK
*/
private String systemsource;
/**
* 单据日期-开始,格式:yyyy-MM-dd HH:mm:ss,限定时间范围不可超过1个月
*/
private String billdateS;
/**
* 单据日期-结束,格式:yyyy-MM-dd HH:mm:ss
*/
private String billdateE;
}
@@ -0,0 +1,47 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A303-1 开票申请单新增请求体,结构为 data 数组
*
* @author Chill
*/
@Data
public class BfiInvoiceApplySaveBodyDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 开票申请单数据
*/
private List<BfiInvoiceApplySaveDTO> data;
}
@@ -0,0 +1,308 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 业财融合(BFI)A303-1 开票申请单新增参数
* <p>
* 请求示例:
* <pre>{@code
* {
* "data": [
* {
* "orgid_number": "01.01.21.01",
* "awrp_orgfield_number": "YS.01.04.09",
* "billno": "test-0204-m1",
* "billdate": "2025-09-08 00:00:00",
* "billproperties": "1",
* "invoicetype": "08xdp",
* "taxationstyle": "0",
* "buyeremail": "11@qq.com",
* "buyerproperty": "0",
* "buyertaxno": "91450881MA7BFT2629",
* "buyername": "广西贵港建设集团有限公司桂平分公司",
* "salername": "广西壮族自治区建筑工程质量检测中心有限公司",
* "salertaxno": "91450000MA5Q1G1M59",
* "totalamount": 250.0,
* "systemsource": "WCCK",
* "customnameid_number": "K01.00-10-0037",
* "awrp_project_number": "XDWL-GC-2025-0070",
* "sim_original_bill_item": [
* {
* "awrp_src_con_eno": "0204-m1",
* "rowtype": "2",
* "taxratecodeid_number": "304060299",
* "unit": "项",
* "num": 1.0,
* "taxunitprice": 250.0,
* "taxamount": 250.0,
* "taxrate": "0.06",
* "goodsname": "检测费",
* "goodssimplename": "鉴证咨询服务",
* "benchmark": "0",
* "awrp_src_type": "0KzXs"
* }
* ]
* }
* ]
* }
* }</pre>
*
* @author Chill
*/
@Data
public class BfiInvoiceApplySaveDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 组织.编码,候选键,如 01.01.21.01
*/
@JsonProperty("orgid_number")
private String orgidNumber;
/**
* 业务单据编号,候选键,如 KPSQ-JCZX-202509-002283
*/
private String billno;
/**
* 单据日期,格式:yyyy-MM-dd HH:mm:ss
*/
private String billdate;
/**
* 单据性质[-1:负数, 1:正数]
*/
private String billproperties;
/**
* 发票种类[10xdp:数电发票(普通发票), 08xdp:数电发票(增值税专用发票)]
*/
private String invoicetype;
/**
* 征税方式[0:普通征税, 1:减按计征, 2:差额征税, 01:差额征税-全额开票, 02:差额征税-差额开票, 3:减按征税]
*/
private String taxationstyle;
/**
* 开票人,留空不传
*/
private String drawer;
/**
* 收款人
*/
private String payee;
/**
* 复核人
*/
private String reviewer;
/**
* 发票推送邮箱,邮箱必填
*/
private String buyeremail;
/**
* 发票备注,即发票上的备注信息
*/
private String invoiceremark;
/**
* 交付手机,手机非必填(按集团要求手机交付取消)
*/
private String buyerphone;
/**
* 购方企业类型[0:企业, 1:个人, 2:非企业单位]
*/
private String buyerproperty;
/**
* 购方纳税人识别号
*/
private String buyertaxno;
/**
* 展示买方地址电话
*/
private Boolean showbuyeraddresstel;
/**
* 购方地址及电话
*/
private String buyeraddr;
/**
* 展示买方银行
*/
private Boolean showbuyerbank;
/**
* 购方开户行及账号
*/
private String buyerbank;
/**
* 销方名称
*/
private String salername;
/**
* 销方纳税人识别号
*/
private String salertaxno;
/**
* 展示卖方地址电话
*/
private Boolean showsaleraddresstel;
/**
* 销方地址及电话
*/
private String saleraddr;
/**
* 展示卖方银行
*/
private Boolean showsalerbank;
/**
* 销方开户行及账号
*/
private String salerbank;
/**
* 申请价税合计
*/
private BigDecimal totalamount;
/**
* 申请金额
*/
private BigDecimal invoiceamount;
/**
* 申请税额
*/
private BigDecimal totaltax;
/**
* 特殊票种[00:非特殊票种, 02:收购, 06:抵扣通行费, 07:不抵扣通行费, 08:成品油, 11:卷烟, 18:机动车, E06:不动产租赁, E03:建筑服务, E05:不动产销售, E04:货物运输, E01:成品油(数电发票), E18:卷烟(数电发票), E12:自产农产品销售, E09:旅客运输, E14:机动车(数电发票), E07:代收车船税]
*/
private String specialtype;
/**
* 购方名称
*/
private String buyername;
/**
* 原始价税合计
*/
private BigDecimal oldtotalamount;
/**
* 剩余可开金额
*/
private BigDecimal surplusamount;
/**
* 剩余可开税额
*/
private BigDecimal surplustax;
/**
* 数据来源,固定3
*/
private String billsource;
/**
* 数据来源系统,城矿传 WCCK
*/
private String systemsource;
/**
* 单据完整[0:完整, 1:待补充]
*/
private String billcomplete;
/**
* 是否含税[0:不含税, 1:含税]
*/
private String hsbz;
/**
* 商品类型[1:开票项, 2:物料, 3:费用项目]
*/
private String producttype;
/**
* 税额微调
*/
private Boolean taxadjust;
/**
* 客户.编码
*/
@JsonProperty("customnameid_number")
private String customnameidNumber;
/**
* 合同日期,格式:yyyy-MM-dd
*/
private String contractdate;
/**
* 合同编号
*/
private String contractno;
/**
* 合同金额
*/
private BigDecimal contractamount;
/**
* 项目.项目编码
*/
@JsonProperty("awrp_project_number")
private String awrpProjectNumber;
/**
* 销售组织.编码
*/
@JsonProperty("salesorgbase_number")
private String salesorgbaseNumber;
/**
* 结算组织.编码
*/
@JsonProperty("settlementorgbase_number")
private String settlementorgbaseNumber;
/**
* 资金组织.编码
*/
@JsonProperty("capitalorgbase_number")
private String capitalorgbaseNumber;
/**
* 经办人.经办人编码
*/
@JsonProperty("operator_number")
private String operatorNumber;
/**
* 开票业务管控.编码
*/
@JsonProperty("bizcontroltype_number")
private String bizcontroltypeNumber;
/**
* 申请部门.编码
*/
@JsonProperty("awrp_orgfield_number")
private String awrpOrgfieldNumber;
/**
* 来源单据[ar_finarbill:财务应收单]
*/
@JsonProperty("awrp_src_bt")
private String awrpSrcBt;
/**
* 上游外部系统单据号
*/
@JsonProperty("awrp_src_con_no")
private String awrpSrcConNo;
/**
* 单据体分录
*/
@JsonProperty("sim_original_bill_item")
private List<BfiInvoiceApplySaveEntryDTO> simOriginalBillItem;
}
@@ -0,0 +1,163 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 业财融合(BFI)A303-1 开票申请单新增 单据体分录
*
* @author Chill
*/
@Data
public class BfiInvoiceApplySaveEntryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 费用项目.编码
*/
@JsonProperty("expenseitem_number")
private String expenseitemNumber;
/**
* 税收分类编码.编码,如 304060299
*/
@JsonProperty("taxratecodeid_number")
private String taxratecodeidNumber;
/**
* 规格型号
*/
private String specification;
/**
* 计量单位,如 项
*/
private String unit;
/**
* 数量,为折扣行时填0,其他按实际填写
*/
private BigDecimal num;
/**
* 单价(含税)
*/
private BigDecimal taxunitprice;
/**
* 金额(含税)
*/
private BigDecimal taxamount;
/**
* 税率[0:0%, 0.01:1%, 0.015:减按1.5%, 0.03:3%, 0.04:4%, 0.05:5%, 0.06:6%, 0.09:9%, 0.10:10%, 0.11:11%, 0.13:13%, 0.16:16%, 0.17:17%]
*/
private String taxrate;
/**
* 税额
*/
private BigDecimal tax;
/**
* 是否享受优惠[0:不享受, 1:享受]
*/
private String policylogo;
/**
* 金额(不含税)
*/
private BigDecimal amount;
/**
* 单价(不含税)
*/
private BigDecimal unitprice;
/**
* 税收分类合并编码
*/
private String goodscode;
/**
* 商品名称
*/
private String goodsname;
/**
* 简称,如 鉴证咨询服务
*/
private String goodssimplename;
/**
* 基准类型[0:数量基准, 1:金额基准]
*/
private String benchmark;
/**
* 优惠政策内容[免税, 不征税, 简易征收, 按3%简易征收, 按5%简易征收, 按5%简易征收减按1.5%计征, 稀土产品, 先征后退, 50%先征后退, 100%先征后退, 即征即退30%, 即征即退50%, 即征即退70%, 即征即退100%, 超税负3%即征即退, 超税负6%即征即退, 超税负8%即征即退, 超税负12%即征即退]
*/
private String policycontants;
/**
* 剩余可申请数量,为折扣行时填0,其他按实际填写
*/
private BigDecimal remainvalidnum;
/**
* 剩余可申请金额,根据单据含税标记(hsbz)赋值:含税时=含税金额,不含税时=不含税金额
*/
private BigDecimal remainvalidamount;
/**
* 剩余可申请税额
*/
private BigDecimal remainvalidtax;
/**
* 商品编码.商品编码,根据 producttype 字段判断是否填写
*/
@JsonProperty("goodsid_number")
private String goodsidNumber;
/**
* 物料编码.编码,根据 producttype 字段判断是否填写
*/
@JsonProperty("materielfield_number")
private String materielfieldNumber;
/**
* 行性质[1:折扣行, 2:商品行],折扣行需紧跟被折扣行后面
*/
private String rowtype;
/**
* 备注
*/
private String remark;
/**
* 明细扣除额
*/
private BigDecimal itemdeduction;
/**
* 上游分录号
*/
@JsonProperty("awrp_src_con_eno")
private String awrpSrcConEno;
/**
* 外部系统来源分录标识
*/
@JsonProperty("awrp_entry_code")
private String awrpEntryCode;
/**
* 外部单据类型
*/
@JsonProperty("awrp_src_type")
private String awrpSrcType;
}
@@ -0,0 +1,69 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A302-6 收票指定应付请求体
* <p>
* 请求示例:
* <pre>{@code
* {
* "data": [
* {
* "ap_invoice": [
* { "awrp_src_code": "test-m", "awrp_src_sys": "WCCK" }
* ],
* "ap_finapbill": [
* { "awrp_src_code": "test-ap-m", "awrp_src_sys": "WCCK" }
* ]
* }
* ],
* "op": "unassign"
* }
* }</pre>
*
* @author Chill
*/
@Data
public class BfiInvoiceAssignBodyDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 指定关系数据
*/
private List<BfiInvoiceAssignItemDTO> data;
/**
* 操作类型[assign:指定, unassign:取消指定]
*/
private String op;
}
@@ -0,0 +1,54 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A302-6 收票指定应付 指定关系项
*
* @author Chill
*/
@Data
public class BfiInvoiceAssignItemDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 收票单(来源系统单号+来源系统编码)
*/
@JsonProperty("ap_invoice")
private List<BfiInvoiceAssignRefDTO> apInvoice;
/**
* 财务应付单(来源系统单号+来源系统编码),op 为 assign 时必录
*/
@JsonProperty("ap_finapbill")
private List<BfiInvoiceAssignRefDTO> apFinapbill;
}
@@ -0,0 +1,53 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A302-6 收票指定应付 单据引用(来源系统编码+单号)
*
* @author Chill
*/
@Data
public class BfiInvoiceAssignRefDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 来源系统单号
*/
@JsonProperty("awrp_src_code")
private String awrpSrcCode;
/**
* 来源系统编码
*/
@JsonProperty("awrp_src_sys")
private String awrpSrcSys;
}
@@ -0,0 +1,54 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A801-2 进项发票下载(文件下载)参数
* <p>
* 请求示例:
* <pre>{@code
* {
* "path": "234e244b2c803400"
* }
* }</pre>
*
* @author Chill
*/
@Data
public class BfiInvoiceDownloadDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 文件url,如票池发票的 downloadUrl/imageUrl
*/
private String path;
}
@@ -0,0 +1,57 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.Map;
/**
* 业财融合(BFI)A801-1 查询全票池发票数据参数
* <p>
* 请求示例:
* <pre>{@code
* {
* "queryParam": {
* "invoiceNo": "25532000000044538098"
* }
* }
* }</pre>
* queryParam 字段明细参考票易通文档 https://open.piaozone.com/api-145421056
*
* @author Chill
*/
@Data
public class BfiInvoicePoolQueryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 查询参数,键值对形式,如 invoiceNo(发票号码),字段明细参考 https://open.piaozone.com/api-145421056
*/
private Map<String, Object> queryParam;
}
@@ -0,0 +1,83 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A801-3 收票单查询参数
* <p>
* 请求示例:
* <pre>{@code
* GET /ierp/kapi/v2/awrp/ap/ap_invoice/apinvoicequery?billstatus=C&modifytime=2026-09-08 10:36:29&modifytimeE=2026-09-08 10:39:36&pageNo=1&pageSize=10
* }</pre>
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceQueryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 页码,从1开始
*/
private Integer pageNo;
/**
* 页数
*/
private Integer pageSize;
/**
* 单据编号
*/
private String billno;
/**
* 单据状态[A:暂存, B:已提交, C:已审核]
*/
private String billstatus;
/**
* 修改时间-开始,格式:yyyy-MM-dd HH:mm:ss
*/
private String modifytime;
/**
* 修改时间-结束,格式:yyyy-MM-dd HH:mm:ss
*/
private String modifytimeE;
/**
* 创建时间,格式:yyyy-MM-dd HH:mm:ss
*/
private String createtime;
/**
* 销方名称
*/
private String asstactname;
/**
* 购方名称
*/
private String buyername;
}
@@ -0,0 +1,47 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A303-2 收票单新增(批量保存)请求体,结构为 data 数组
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceSaveBodyDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 收票单数据
*/
private List<BfiReceivedInvoiceSaveDTO> data;
}
@@ -0,0 +1,245 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 业财融合(BFI)A303-2 收票单新增(批量保存)参数
* <p>
* 请求示例:
* <pre>{@code
* {
* "data": [
* {
* "awrp_src_sys": "YC",
* "awrp_src_code": "ar_1",
* "invoiceno": "NuSQA",
* "invoicecode": "hhma9",
* "receivedate": "2026-01-29 00:00:00",
* "issuedate": "2026-01-29 00:00:00",
* "biztype": "PUR",
* "invoicetypef7_number": "27",
* "paymenttype": "CREDIT",
* "asstacttype": "bd_supplier",
* "org_number": "01.00",
* "currency_number": "CNY",
* "receivablessupp_number": "G01.01.04.02-10-0012",
* "exratetable_number": "01",
* "exchangerate": 1.0,
* "buyername": "购方名称",
* "asstactname": "销方名称",
* "isincludetax": true,
* "entry": [
* {
* "e_pricetaxtotal": 100.0,
* "quantity": 1.0,
* "price": 88.4955752212,
* "material_number": "BYWL02.0139",
* "e_taxclass_number": "Di8b9",
* "taxrateid_number": "V13",
* "e_amount": 88.5,
* "e_tax": 11.5,
* "awrp_entry_code": "ar_e1"
* }
* ],
* "isfx": false
* }
* ]
* }
* }</pre>
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceSaveDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 单据编号,由金蝶系统流水号生成(如 AVT-202601-000039),业务不传
*/
private String billno;
/**
* 外部系统编号,候选键
*/
@JsonProperty("awrp_src_sys")
private String awrpSrcSys;
/**
* 外部系统来源单据号,候选键
*/
@JsonProperty("awrp_src_code")
private String awrpSrcCode;
/**
* 发票号码
*/
private String invoiceno;
/**
* 发票代码
*/
private String invoicecode;
/**
* 收票日期,格式:yyyy-MM-dd HH:mm:ss
*/
private String receivedate;
/**
* 开票日期,格式:yyyy-MM-dd HH:mm:ss
*/
private String issuedate;
/**
* 业务类型[PUR:采购, FEE:费用]
*/
private String biztype;
/**
* 发票类型.编码[1:增值税电子普通发票, 2:增值税电子专用发票, 10:飞机票, 11:其他发票, 12:机动车销售统一发票, 13:二手车销售统一发票, 14:定额发票, 15:道路通行费电子普通发票, 16:汽车票, 17:过路(过桥)费发票, 19:税收完税证明, 20:轮船票, 21:海关缴款书, 23:通用机打电子发票, 24:火车票退票凭证, 25:财政电子票据, 26:数电发票(普通发票), 27:数电发票(增值税专用发票), 28:数电发票(航空运输电子客票行程单), 29:数电发票(铁路电子客票)]
*/
@JsonProperty("invoicetypef7_number")
private String invoicetypef7Number;
/**
* 备注
*/
private String remark;
/**
* 付款方式[CASH:现购, CREDIT:赊购]
*/
private String paymenttype;
/**
* 往来类型[bd_supplier:供应商, bos_user:人员, bd_customer:客户]
*/
private String asstacttype;
/**
* 结算组织.编码
*/
@JsonProperty("org_number")
private String orgNumber;
/**
* 结算币别.货币代码,如 CNY
*/
@JsonProperty("currency_number")
private String currencyNumber;
/**
* 往来户.编码
*/
@JsonProperty("receivablessupp_number")
private String receivablessuppNumber;
/**
* 汇率表.编码,如 01
*/
@JsonProperty("exratetable_number")
private String exratetableNumber;
/**
* 汇率
*/
private BigDecimal exchangerate;
/**
* 购方纳税人识别号
*/
private String buyertin;
/**
* 购方地址
*/
private String buyeraddr;
/**
* 购方电话
*/
private String buyertel;
/**
* 购方账号
*/
private String buyeracct;
/**
* 销方纳税人识别号
*/
private String sellertin;
/**
* 销方地址
*/
private String selleraddr;
/**
* 销方电话
*/
private String sellertel;
/**
* 销方开户行
*/
private String sellerbank;
/**
* 销方账号
*/
private String selleracct;
/**
* 销方名称
*/
private String asstactname;
/**
* 最迟付款日期,格式:yyyy-MM-dd HH:mm:ss
*/
private String lastpaydate;
/**
* 录入价税合计
*/
private Boolean isincludetax;
/**
* 销售方名称.编码
*/
@JsonProperty("asstact_number")
private String asstactNumber;
/**
* 购方开户行
*/
private String buyerbank;
/**
* 购方名称
*/
private String buyername;
/**
* 购买方名称.编码
*/
@JsonProperty("buyer_number")
private String buyerNumber;
/**
* 外部单据类型
*/
@JsonProperty("awrp_src_type")
private String awrpSrcType;
/**
* 明细分录
*/
private List<BfiReceivedInvoiceSaveEntryDTO> entry;
/**
* 微调
*/
private Boolean isfx;
}
@@ -0,0 +1,91 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 业财融合(BFI)A303-2 收票单新增(批量保存)明细分录
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceSaveEntryDTO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
private Long id;
/**
* 价税合计
*/
@JsonProperty("e_pricetaxtotal")
private BigDecimal ePricetaxtotal;
/**
* 数量
*/
private BigDecimal quantity;
/**
* 单价
*/
private BigDecimal price;
/**
* 物料编码.编码
*/
@JsonProperty("material_number")
private String materialNumber;
/**
* 税收分类.编码
*/
@JsonProperty("e_taxclass_number")
private String eTaxclassNumber;
/**
* 税率.编码,如 V13
*/
@JsonProperty("taxrateid_number")
private String taxrateidNumber;
/**
* 金额
*/
@JsonProperty("e_amount")
private BigDecimal eAmount;
/**
* 税额
*/
@JsonProperty("e_tax")
private BigDecimal eTax;
/**
* 外部系统来源分录标识,候选键
*/
@JsonProperty("awrp_entry_code")
private String awrpEntryCode;
}
@@ -0,0 +1,159 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 业财融合(BFI)A303-4 开票申请单查询 单据体分录
*
* @author Chill
*/
@Data
public class BfiInvoiceApplyEntryVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 分录行号
*/
private Integer seq;
/**
* 行性质[1:折扣行, 2:商品行]
*/
private String rowtype;
/**
* 商品名称
*/
private String goodsname;
/**
* 简称
*/
private String goodssimplename;
/**
* 规格型号
*/
private String specification;
/**
* 计量单位
*/
private String unit;
/**
* 数量
*/
private BigDecimal num;
/**
* 单价(不含税)
*/
private BigDecimal unitprice;
/**
* 单价(含税)
*/
private BigDecimal taxunitprice;
/**
* 金额(不含税)
*/
private BigDecimal amount;
/**
* 金额(含税)
*/
private BigDecimal taxamount;
/**
* 税率[0:0%, 0.01:1%, 0.015:减按1.5%, 0.03:3%, 0.04:4%, 0.05:5%, 0.06:6%, 0.09:9%, 0.10:10%, 0.11:11%, 0.13:13%, 0.16:16%, 0.17:17%]
*/
private String taxrate;
/**
* 税额
*/
private BigDecimal tax;
/**
* 剩余可申请数量
*/
private BigDecimal remainvalidnum;
/**
* 剩余可申请金额
*/
private BigDecimal remainvalidamount;
/**
* 剩余可申请税额
*/
private BigDecimal remainvalidtax;
/**
* 已开金额
*/
private BigDecimal issuedamount;
/**
* 已开税额
*/
private BigDecimal issuedtax;
/**
* 已开价税合计
*/
private BigDecimal issuedtotaltaxamount;
/**
* 是否享受优惠[0:不享受, 1:享受]
*/
private String policylogo;
/**
* 税收分类合并编码
*/
private String goodscode;
/**
* 备注
*/
private String remark;
/**
* 原始商品名称
*/
private String origoodsname;
/**
* 折扣金额
*/
private BigDecimal discountamount;
/**
* 折扣率
*/
private BigDecimal discountrate;
/**
* 基准类型[0:数量基准, 1:金额基准]
*/
private String benchmark;
/**
* 是否赠品
*/
private Boolean gift;
}
@@ -0,0 +1,377 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 业财融合(BFI)A303-4 开票申请单查询返回结果
* <p>
* 成功响应示例:
* <pre>{@code
* {
* "data": {
* "filter": "[systemsource = 'WCCK']", "lastPage": true, "pageNo": 1, "pageSize": 10,
* "rows": [
* {
* "id": "2400746134621404160", "hsbz": "1", "producttype": "1", "billcomplete": "0",
* "buyertaxno": "91450881MA7BFT2629", "salername": "广西壮族自治区建筑工程质量检测中心有限公司",
* "salertaxno": "91450000MA5Q1G1M59", "invoicetype": "08xdp", "totalamount": 245.0,
* "buyername": "广西贵港建设集团有限公司桂平分公司", "billno": "test", "billstatus": "C",
* "systemsource": "WCCK", "comprehensivestatus": "01",
* "sim_original_bill_item": [ ... ]
* }
* ]
* },
* "errorCode": "0", "message": null, "status": true
* }
* }</pre>
*
* @author Chill
*/
@Data
public class BfiInvoiceApplyVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 单据日期
*/
private String billdate;
/**
* 币别
*/
private String currency;
/**
* 申请方
*/
private String applicant;
/**
* 原购方名称
*/
private String oribuyername;
/**
* 原购方地址电话
*/
private String oribuyeraddr;
/**
* 原购方开户行
*/
private String oribuyerbank;
/**
* 是否含税[0:不含税, 1:含税]
*/
private String hsbz;
/**
* 商品类型[1:开票项, 2:物料, 3:费用项目]
*/
private String producttype;
/**
* 单据完整[0:完整, 1:待补充]
*/
private String billcomplete;
/**
* 关闭状态[0:未关闭, 1:关闭]
*/
private String closestatus;
/**
* 购方纳税人识别号
*/
private String buyertaxno;
/**
* 购方地址及电话
*/
private String buyeraddr;
/**
* 购方开户行及账号
*/
private String buyerbank;
/**
* 交付手机
*/
private String buyerphone;
/**
* 购方企业类型[0:企业, 1:个人, 2:非企业单位]
*/
private String buyerproperty;
/**
* 销方开户行及账号
*/
private String salerbank;
/**
* 收款人
*/
private String payee;
/**
* 复核人
*/
private String reviewer;
/**
* 销方名称
*/
private String salername;
/**
* 销方纳税人识别号
*/
private String salertaxno;
/**
* 销方地址及电话
*/
private String saleraddr;
/**
* 开票人
*/
private String drawer;
/**
* 发票推送邮箱
*/
private String buyeremail;
/**
* 征税方式[0:普通征税, 1:减按计征, 2:差额征税, 01:差额征税-全额开票, 02:差额征税-差额开票, 3:减按征税]
*/
private String taxationstyle;
/**
* 发票种类[10xdp:数电发票(普通发票), 08xdp:数电发票(增值税专用发票)]
*/
private String invoicetype;
/**
* 特殊票种[00:非特殊票种, 02:收购, 06:抵扣通行费, 07:不抵扣通行费, 08:成品油, 11:卷烟, 18:机动车, E06:不动产租赁, E03:建筑服务, E05:不动产销售, E04:货物运输, E01:成品油(数电发票), E18:卷烟(数电发票), E12:自产农产品销售, E09:旅客运输, E14:机动车(数电发票), E07:代收车船税]
*/
private String specialtype;
/**
* 汇率日期
*/
private String exchangedate;
/**
* 已申请金额
*/
private BigDecimal confirmamount;
/**
* 申请金额
*/
private BigDecimal invoiceamount;
/**
* 申请价税合计
*/
private BigDecimal totalamount;
/**
* 申请税额
*/
private BigDecimal totaltax;
/**
* 已开金额
*/
private BigDecimal mainissuedamount;
/**
* 已开税额
*/
private BigDecimal mainissuedtax;
/**
* 剩余可开金额
*/
private BigDecimal surplusamount;
/**
* 剩余可开税额
*/
private BigDecimal surplustax;
/**
* 换算方式[0:直接汇率, 1:间接汇率]
*/
private String quotation;
/**
* 原始价税合计
*/
private BigDecimal oldtotalamount;
/**
* 购方名称
*/
private String buyername;
/**
* 汇率
*/
private BigDecimal exrate;
/**
* 价税合计
*/
private BigDecimal invoicedtotalamount;
/**
* 开票日期
*/
private String issuetime;
/**
* 合同编号
*/
private String contractno;
/**
* 合同日期
*/
private String contractdate;
/**
* 合同金额
*/
private BigDecimal contractamount;
/**
* 开票说明
*/
private String billremark;
/**
* 创建日期
*/
private String createdate;
/**
* 单据类型[A:普通单, B:红冲单, C:作废单, D:重开单]
*/
private String billsourcetype;
/**
* 申请状态[0:未申请, 1:部分申请, 2:已申请]
*/
private String confirmstate;
/**
* 单据性质[-1:负数, 1:正数]
*/
private String billproperties;
/**
* 业务单据编号
*/
private String billno;
/**
* 单据审批状态[A:暂存, B:已提交, C:已审核, D:无需审批]
*/
private String billstatus;
/**
* 审核意见
*/
private String auditsuggestion;
/**
* 数据来源系统
*/
private String systemsource;
/**
* 单据状态[0:正常, 1:搁置, 2:开票结束]
*/
private String validstate;
/**
* 购销身份[0:我是销方, 1:我是购方]
*/
private String salerorbuyer;
/**
* 数据来源系统[XH:星瀚, WCY:物产云, JCZX:检测中心, NBERP:南北ERP, WCCK:城矿ERP, WY:维云(服务), CMS:合同系统, DTP:数据中台]
*/
@JsonProperty("awrp_datasourcesys")
private String awrpDatasourcesys;
/**
* 单据综合状态[00:单据作废, 01:待开票, 02:合并拆分确认完成, 08:部分发票已开具完成, 09:全部发票已开具完成, 11:待提交, 12:待审批, 21:开票后部分红冲/作废, 22:开票后全部红冲/作废, 23:开票后部分红冲/作废并重开, 24:开票后全部红冲/作废并重开, 31:负数单据蓝票匹配中, 32:负数单据蓝票部分匹配完成, 33:负数单据蓝票全部匹配完成, 34:负数单据蓝票零匹配, 35:负数单据红字确认单申请中, 36:负数单据红字确认单部分申请完成, 37:负数单据红字确认单全部申请完成, 38:负数单据红字确认单全部申请失败, 39:负数单据匹配蓝票部分开票, 40:负数单据匹配红字申请部分完成, 41:负数单据匹配红字申请全部完成, 42:负数单据匹配红字申请部分开票]
*/
private String comprehensivestatus;
/**
* 展示卖方地址电话
*/
private Boolean showsaleraddresstel;
/**
* 展示买方地址电话
*/
private Boolean showbuyeraddresstel;
/**
* 展示卖方银行
*/
private Boolean showsalerbank;
/**
* 展示买方银行
*/
private Boolean showbuyerbank;
/**
* 币别.货币代码
*/
@JsonProperty("fromcurr_number")
private String fromcurrNumber;
/**
* 本位币.货币代码
*/
@JsonProperty("tocurr_number")
private String tocurrNumber;
/**
* 汇率表.编码
*/
@JsonProperty("exratetable_number")
private String exratetableNumber;
/**
* 销售组织.编码
*/
@JsonProperty("salesorgbase_number")
private String salesorgbaseNumber;
/**
* 结算组织.编码
*/
@JsonProperty("settlementorgbase_number")
private String settlementorgbaseNumber;
/**
* 资金组织.编码
*/
@JsonProperty("capitalorgbase_number")
private String capitalorgbaseNumber;
/**
* 客户.编码
*/
@JsonProperty("customnameid_number")
private String customnameidNumber;
/**
* 组织.编码
*/
@JsonProperty("orgid_number")
private String orgidNumber;
/**
* 经办人.经办人编码
*/
@JsonProperty("operator_number")
private String operatorNumber;
/**
* 申请部门.编码
*/
@JsonProperty("awrp_orgfield_number")
private String awrpOrgfieldNumber;
/**
* 项目.项目编码
*/
@JsonProperty("awrp_project_number")
private String awrpProjectNumber;
/**
* 单据体分录
*/
@JsonProperty("sim_original_bill_item")
private List<BfiInvoiceApplyEntryVO> simOriginalBillItem;
}
@@ -0,0 +1,118 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A801-1 查询全票池发票数据 发票明细
*
* @author Chill
*/
@Data
public class BfiInvoicePoolItemVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 分录行号
*/
@JsonProperty("seq")
private String seq;
/**
* 商品名称
*/
@JsonProperty("goodsName")
private String goodsName;
/**
* 规格型号
*/
@JsonProperty("specModel")
private String specModel;
/**
* 单位
*/
@JsonProperty("unit")
private String unit;
/**
* 数量
*/
@JsonProperty("num")
private String num;
/**
* 单价
*/
@JsonProperty("unitPrice")
private String unitPrice;
/**
* 金额
*/
@JsonProperty("detailAmount")
private String detailAmount;
/**
* 税率
*/
@JsonProperty("taxRate")
private String taxRate;
/**
* 税额
*/
@JsonProperty("taxAmount")
private String taxAmount;
/**
* 税收分类编码
*/
@JsonProperty("goodsCode")
private String goodsCode;
/**
* 折扣类型
*/
@JsonProperty("discountType")
private String discountType;
/**
* 优惠政策
*/
@JsonProperty("preferentialPolicy")
private String preferentialPolicy;
/**
* 增值税特殊事项
*/
@JsonProperty("vatException")
private String vatException;
/**
* 零税率标识
*/
@JsonProperty("zeroTaxRateFlag")
private String zeroTaxRateFlag;
/**
* 版本号
*/
@JsonProperty("versionNo")
private String versionNo;
}
@@ -0,0 +1,285 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A801-1 查询全票池发票数据返回结果
* <p>
* 成功响应示例:
* <pre>{@code
* {
* "data": [
* {
* "downloadUrl": "234e244b2c803400", "invoiceAmount": "372.28", "invoiceType": "27",
* "invoiceNo": "25532000000044538098", "salerTaxNo": "91532503MADPDYU671",
* "buyerTaxNo": "91450100073757311R", "salerName": "红河熠龙酒店有限责任公司",
* "totalAmount": "376", "totalTaxAmount": "3.72", "serialNo": "d798b8d286bd4b23b2b0e971a8adc79d0",
* "imageUrl": "234e244b99803400", "checkStatus": "1",
* "items": [ { "goodsName": "*住宿服务*住宿费", "detailAmount": "372.28", "taxRate": "0.01", ... } ]
* }
* ],
* "errorCode": "0", "message": null, "status": true
* }
* }</pre>
* 字段明细参考票易通文档 https://open.piaozone.com/api-145421056
*
* @author Chill
*/
@Data
public class BfiInvoicePoolVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 发票号码
*/
@JsonProperty("invoiceNo")
private String invoiceNo;
/**
* 发票类型[26:数电票(普票), 27:数电票(专票), 1:增值税电子普通发票, 2:增值税电子专用发票, 15:道路通行费电子普通发票, 25:财政电子票据, ...]
*/
@JsonProperty("invoiceType")
private String invoiceType;
/**
* 发票流水号
*/
@JsonProperty("serialNo")
private String serialNo;
/**
* 原发票代码
*/
@JsonProperty("originalInvoiceCode")
private String originalInvoiceCode;
/**
* 原发票号码
*/
@JsonProperty("originalInvoiceNo")
private String originalInvoiceNo;
/**
* 不含税金额
*/
@JsonProperty("invoiceAmount")
private String invoiceAmount;
/**
* 价税合计
*/
@JsonProperty("totalAmount")
private String totalAmount;
/**
* 税额
*/
@JsonProperty("taxAmount")
private String taxAmount;
/**
* 价税合计(含清单)
*/
@JsonProperty("totalTaxAmount")
private String totalTaxAmount;
/**
* 可用税额
*/
@JsonProperty("availableAmount")
private String availableAmount;
/**
* 购方税号
*/
@JsonProperty("buyerTaxNo")
private String buyerTaxNo;
/**
* 销方税号
*/
@JsonProperty("salerTaxNo")
private String salerTaxNo;
/**
* 销方名称
*/
@JsonProperty("salerName")
private String salerName;
/**
* 销方地址电话
*/
@JsonProperty("salerAddressPhone")
private String salerAddressPhone;
/**
* 开票人
*/
@JsonProperty("drawer")
private String drawer;
/**
* 收款人
*/
private String payee;
/**
* 复核人
*/
@JsonProperty("reviewer")
private String reviewer;
/**
* 备注
*/
private String remark;
/**
* 开票日期
*/
@JsonProperty("invoiceDate")
private String invoiceDate;
/**
* 是否作废删除[0:否, 1:是]
*/
@JsonProperty("delete")
private String delete;
/**
* 发票标签
*/
@JsonProperty("invoiceTag")
private String invoiceTag;
/**
* 特殊类型标记
*/
@JsonProperty("specialTypeMark")
private String specialTypeMark;
/**
* 是否电子信息[1:是]
*/
@JsonProperty("isElectricInvoice")
private String isElectricInvoice;
/**
* 查验状态[0:未查验, 1:通过, 2:不通过]
*/
@JsonProperty("checkStatus")
private String checkStatus;
/**
* 是否需要查验[1:是]
*/
@JsonProperty("needCheck")
private String needCheck;
/**
* 抵扣标志[1:可抵扣]
*/
@JsonProperty("deductionFlag")
private String deductionFlag;
/**
* 认证标志[2:已认证]
*/
@JsonProperty("authenticateFlag")
private String authenticateFlag;
/**
* 认证时间
*/
@JsonProperty("authenticateTime")
private String authenticateTime;
/**
* 勾选时间
*/
@JsonProperty("selectTime")
private String selectTime;
/**
* 入账时间
*/
@JsonProperty("recordedTime")
private String recordedTime;
/**
* 入账用途
*/
@JsonProperty("recordedPurpose")
private String recordedPurpose;
/**
* 入账状态
*/
@JsonProperty("recordedFlag")
private String recordedFlag;
/**
* 税属期,如 2026-01
*/
@JsonProperty("taxPeriod")
private String taxPeriod;
/**
* 所属组织id
*/
@JsonProperty("orgId")
private String orgId;
/**
* 所属组织编码
*/
@JsonProperty("orgNumber")
private String orgNumber;
/**
* 所属组织名称
*/
@JsonProperty("orgName")
private String orgName;
/**
* 文件下载地址(用于 A801-2 文件下载接口的 path 参数)
*/
@JsonProperty("downloadUrl")
private String downloadUrl;
/**
* 图片文件地址
*/
@JsonProperty("imageUrl")
private String imageUrl;
/**
* pdf 文件地址
*/
@JsonProperty("taxPdfUrl")
private String taxPdfUrl;
/**
* ofd 文件地址
*/
@JsonProperty("taxOfdUrl")
private String taxOfdUrl;
/**
* xml 文件地址
*/
@JsonProperty("xmlUrl")
private String xmlUrl;
/**
* 数据来源,如 电子税局下载
*/
@JsonProperty("resource")
private String resource;
/**
* 单据创建时间
*/
@JsonProperty("billCreateTime")
private String billCreateTime;
/**
* 额外参数:业务单据号
*/
@JsonProperty("expense_num")
private String expenseNum;
/**
* 发票明细
*/
@JsonProperty("items")
private List<BfiInvoicePoolItemVO> items;
}
@@ -0,0 +1,75 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.util.List;
/**
* 业财融合(BFI)A303-5 开票申请发票查询统一返回结果
* <p>
* 成功响应示例:
* <pre>{@code
* {
* "data": [ { "billNo": "KPSQ-JCZX-202509-002276", "invoiceList": [ ... ] } ],
* "errorCode": "S0000",
* "success": true
* }
* }</pre>
* data 内容为发票明细,参考票易通文档 https://open.piaozone.com/api-146003729
*
* @param <T> data 数据类型
* @author Chill
*/
@Data
public class BfiOpenApiResultVO<T> implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 返回数据 data
*/
private T data;
/**
* 响应码
*/
private String errorCode;
/**
* 响应状态
*/
private Boolean success;
/**
* 是否调用成功
*
* @return true-成功
*/
public boolean isSuccess() {
return Boolean.TRUE.equals(success);
}
}
@@ -0,0 +1,281 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 业财融合(BFI)A801-3 收票单查询 明细分录
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceEntryVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 分录行号
*/
private Integer seq;
/**
* 价税合计
*/
@JsonProperty("e_pricetaxtotal")
private BigDecimal ePricetaxtotal;
/**
* 金额
*/
@JsonProperty("e_amount")
private BigDecimal eAmount;
/**
* 税额
*/
@JsonProperty("e_tax")
private BigDecimal eTax;
/**
* 税率(%)
*/
private BigDecimal taxrate;
/**
* 核心单据号
*/
private String corebillno;
/**
* 核心单据行号
*/
private Integer corebillentryseq;
/**
* 核心单据类型[pm_purorderbill:采购订单, conm_purcontract:采购合同, pm_om_purorderbill:简单委外订单, sctm_scpo:委外采购订单]
*/
private String corebilltype;
/**
* 核心单据类型_标题
*/
@JsonProperty("corebilltype_title")
private String corebilltypeTitle;
/**
* 数量
*/
private BigDecimal quantity;
/**
* 单价
*/
private BigDecimal price;
/**
* 规格型号
*/
private String spectype;
/**
* 赠品
*/
private Boolean ispresent;
/**
* 折扣方式[PERCENT:折扣率(%), PERUNIT:单位折扣额, TOTAL:折扣额, NULL:无]
*/
private String discountmode;
/**
* 折扣方式_标题
*/
@JsonProperty("discountmode_title")
private String discountmodeTitle;
/**
* 单位折扣(率)
*/
private BigDecimal discountrate;
/**
* 实际单价
*/
private BigDecimal actprice;
/**
* 实际含税单价
*/
private BigDecimal actpricetax;
/**
* 折扣额
*/
private BigDecimal discountamt;
/**
* 折扣额(本位币)
*/
private BigDecimal discountlocalamt;
/**
* 源单ID
*/
@JsonProperty("e_sourcebillid")
private String eSourcebillid;
/**
* 源单分录ID
*/
@JsonProperty("e_sourcebillentryid")
private String eSourcebillentryid;
/**
* 价税合计(本位币)
*/
@JsonProperty("e_pricetaxtotalbase")
private BigDecimal ePricetaxtotalbase;
/**
* 金额(本位币)
*/
@JsonProperty("e_amountbase")
private BigDecimal eAmountbase;
/**
* 开票名称
*/
@JsonProperty("e_invname")
private String eInvname;
/**
* 票面规格型号
*/
@JsonProperty("e_invspectype")
private String eInvspectype;
/**
* 票面单位
*/
@JsonProperty("e_invunit")
private String eInvunit;
/**
* 未关联金额
*/
@JsonProperty("e_unrelatedamt")
private BigDecimal eUnrelatedamt;
/**
* 关联金额
*/
@JsonProperty("e_relatedamt")
private BigDecimal eRelatedamt;
/**
* 核心单据ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long corebillid;
/**
* 核心单据行ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long corebillentryid;
/**
* 未匹配价税合计
*/
@JsonProperty("e_unmatchamt")
private BigDecimal eUnmatchamt;
/**
* 未匹配数量
*/
@JsonProperty("e_unmatchqty")
private BigDecimal eUnmatchqty;
/**
* 匹配规则(废弃)[ORDER:匹配订单, REC:匹配接收, IN:匹配验收]
*/
@JsonProperty("e_matchrule")
private String eMatchrule;
/**
* 匹配规则(废弃)_标题
*/
@JsonProperty("e_matchrule_title")
private String eMatchruleTitle;
/**
* 创建时间
*/
@JsonProperty("e_createtime")
private String eCreatetime;
/**
* 修改时间
*/
@JsonProperty("e_modifytime")
private String eModifytime;
/**
* 合同行号
*/
@JsonProperty("e_conbillrownum")
private String eConbillrownum;
/**
* 合同编号
*/
@JsonProperty("e_conbillnumber")
private String eConbillnumber;
/**
* 合同ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long eConbillid;
/**
* 合同行ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long eConbillentryid;
/**
* 发票分录行号
*/
@JsonProperty("e_inventryseq")
private Integer eInventryseq;
/**
* 基本数量
*/
@JsonProperty("e_baseunitqty")
private BigDecimal eBaseunitqty;
/**
* 未匹配基本数量
*/
@JsonProperty("e_unmatchbaseqty")
private BigDecimal eUnmatchbaseqty;
/**
* 税额(本位币)
*/
@JsonProperty("e_taxlocalamt")
private BigDecimal eTaxlocalamt;
/**
* 来源系统单据ID
*/
@JsonProperty("e_srcsysbillid")
private String eSrcsysbillid;
/**
* 来源系统单据分录ID
*/
@JsonProperty("e_srcsysbillentryid")
private String eSrcsysbillentryid;
/**
* 外部系统来源分录标识
*/
@JsonProperty("awrp_entry_code")
private String awrpEntryCode;
/**
* 明细.e_conbillentity_id
*/
@JsonProperty("e_conbillentity_id")
private String eConbillentityId;
}
@@ -0,0 +1,50 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
/**
* 业财融合(BFI)A801-3 收票单查询 发票类型
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceTypeVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 发票类型.编码
*/
private String number;
/**
* 发票类型.名称
*/
private String name;
}
@@ -0,0 +1,413 @@
/**
* BladeX Commercial License Agreement
* Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
* <p>
* Use of this software is governed by the Commercial License Agreement
* obtained after purchasing a license from BladeX.
* <p>
* 1. This software is for development use only under a valid license
* from BladeX.
* <p>
* 2. Redistribution of this software's source code to any third party
* without a commercial license is strictly prohibited.
* <p>
* 3. Licensees may copyright their own code but cannot use segments
* from this software for such purposes. Copyright of this software
* remains with BladeX.
* <p>
* Using this software signifies agreement to this License, and the software
* must not be used for illegal purposes.
* <p>
* THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
* not liable for any claims arising from secondary or illegal development.
* <p>
* Author: Chill Zhuang (bladejava@qq.com)
*/
package org.springblade.thirdparty.bfi.pojo.vo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 业财融合(BFI)A801-3 收票单查询返回结果
*
* @author Chill
*/
@Data
public class BfiReceivedInvoiceVO implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* id
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
/**
* 单据编号
*/
private String billno;
/**
* 单据状态[A:暂存, B:已提交, C:已审核]
*/
private String billstatus;
/**
* 单据状态_标题
*/
@JsonProperty("billstatus_title")
private String billstatusTitle;
/**
* 审核时间
*/
private String auditdate;
/**
* 修改时间
*/
private String modifytime;
/**
* 创建时间
*/
private String createtime;
/**
* 价税合计
*/
private BigDecimal pricetaxtotal;
/**
* 金额
*/
private BigDecimal amount;
/**
* 税额
*/
private BigDecimal tax;
/**
* 备注
*/
private String remark;
/**
* 销方名称
*/
private String asstactname;
/**
* 发票号码
*/
private String invoiceno;
/**
* 开票日期
*/
private String issuedate;
/**
* 最迟付款日期
*/
private String lastpaydate;
/**
* 收款人
*/
private String payee;
/**
* 复核人
*/
private String checker;
/**
* 开票人
*/
private String drawer;
/**
* 纳税人识别号(买)
*/
private String buyertin;
/**
* 地址(买)
*/
private String buyeraddr;
/**
* 电话(买)
*/
private String buyertel;
/**
* 账号(买)
*/
private String buyeracct;
/**
* 纳税人识别号(卖)
*/
private String sellertin;
/**
* 地址(卖)
*/
private String selleraddr;
/**
* 电话(卖)
*/
private String sellertel;
/**
* 账号(卖)
*/
private String selleracct;
/**
* 密码
*/
private String password;
/**
* 往来类型[bd_supplier:供应商, bos_user:人员, bd_customer:客户]
*/
private String asstacttype;
/**
* 付款方式[CASH:现购, CREDIT:赊购]
*/
private String paymenttype;
/**
* 付款方式_标题
*/
@JsonProperty("paymenttype_title")
private String paymenttypeTitle;
/**
* 开户行(买)
*/
private String buyerbank;
/**
* 开户行(卖)
*/
private String sellerbank;
/**
* 汇率
*/
private BigDecimal exchangerate;
/**
* 录入价税合计
*/
private Boolean isincludetax;
/**
* 源单ID
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long sourcebillid;
/**
* 收款账号
*/
private String receivablesacct;
/**
* 金额(本位币)
*/
private BigDecimal amountbase;
/**
* 价税合计(本位币)
*/
private BigDecimal pricetaxtotalbase;
/**
* 业务类型[PUR:采购, FEE:费用]
*/
private String biztype;
/**
* 业务类型_标题
*/
@JsonProperty("biztype_title")
private String biztypeTitle;
/**
* 发票流水号
*/
private String serialno;
/**
* 购方名称
*/
private String buyername;
/**
* 发票代码
*/
private String invoicecode;
/**
* 归档
*/
private Boolean isarchive;
/**
* 源单类型[ap_invoice:发票, ap_busbill:暂估应付单, conm_purcontract:采购合同]
*/
private String sourcebilltype;
/**
* 源单类型_标题
*/
@JsonProperty("sourcebilltype_title")
private String sourcebilltypeTitle;
/**
* 源单编码
*/
private String sourcebillno;
/**
* 汇率日期
*/
private String exratedate;
/**
* 发票类型
*/
@JsonProperty("invoicetype_title")
private String invoicetypeTitle;
/**
* 发票状态[0:正常, 1:失控, 2:作废, 3:红冲, 4:异常, 5:非正常, 6:红字发票待确认, 7:部分红冲, 8:全部红冲]
*/
private String invoicestatus;
/**
* 发票状态_标题
*/
@JsonProperty("invoicestatus_title")
private String invoicestatusTitle;
/**
* 影像编号
*/
private String imageno;
/**
* 有源采集
*/
private Boolean isreffin;
/**
* 电子发票预览地址
*/
private String originalgraphurl;
/**
* 未关联金额
*/
private BigDecimal unrelatedamt;
/**
* 收票日期
*/
private String receivedate;
/**
* 查验状态[1:通过, 2:不通过, 3:未查验]
*/
private String checkstatus;
/**
* 查验状态_标题
*/
@JsonProperty("checkstatus_title")
private String checkstatusTitle;
/**
* 未匹配价税合计
*/
private BigDecimal unmatchamt;
/**
* 匹配规则(废弃)
*/
private String matchrule;
/**
* 匹配规则(废弃)_标题
*/
@JsonProperty("matchrule_title")
private String matchruleTitle;
/**
* 税额不计入成本
*/
private Boolean istaxdeduction;
/**
* 修改时间
*/
private String lastupdatetime;
/**
* 同步至发票云[notsynchro:无需同步, waitsynchro:待同步, hassynchro:已同步]
*/
private String synstatus;
/**
* 同步至发票云_标题
*/
@JsonProperty("synstatus_title")
private String synstatusTitle;
/**
* 同步发票云更改时间
*/
private String changesynstatustime;
/**
* 换算方式[0:直接汇率, 1:间接汇率]
*/
private String quotation;
/**
* 换算方式_标题
*/
@JsonProperty("quotation_title")
private String quotationTitle;
/**
* 已匹配
*/
private Boolean ismatched;
/**
* 业务来源[ap_finapbill:财务应付单, ap_payapply:付款申请单]
*/
private String businesssource;
/**
* 业务来源_标题
*/
@JsonProperty("businesssource_title")
private String businesssourceTitle;
/**
* 生成凭证
*/
private Boolean isvoucher;
/**
* 匹配状态[0:未匹配, 1:部分匹配, 2:全部匹配]
*/
private String matchstatus;
/**
* 匹配状态_标题
*/
@JsonProperty("matchstatus_title")
private String matchstatusTitle;
/**
* 税额(本位币)
*/
private BigDecimal taxbase;
/**
* 协同状态[A:无, B:进行中, C:成功, D:失败]
*/
private String coopstatus;
/**
* 协同状态_标题
*/
@JsonProperty("coopstatus_title")
private String coopstatusTitle;
/**
* 单据来源类型[0:手工新增, 1:导入生成, 2:后台生成, 3:从总账导入, 4:协同调差生成, fromeas:EAS集成, 21:跨租户同步]
*/
private String billsrctype;
/**
* 单据来源类型_标题
*/
@JsonProperty("billsrctype_title")
private String billsrctypeTitle;
/**
* 科目类型[1:进口增值税, 2:进口关税, 3:进口消费税]
*/
@JsonProperty("subject_type")
private String subjectType;
/**
* 科目类型_标题
*/
@JsonProperty("subject_type_title")
private String subjectTypeTitle;
/**
* 外部系统来源单据号
*/
@JsonProperty("awrp_src_code")
private String awrpSrcCode;
/**
* 外部系统编号
*/
@JsonProperty("awrp_src_sys")
private String awrpSrcSys;
/**
* 外部单据类型
*/
@JsonProperty("awrp_src_type")
private String awrpSrcType;
/**
* 明细分录
*/
private List<BfiReceivedInvoiceEntryVO> entry;
/**
* 发票类型
*/
@JsonProperty("invoicetypef7")
private BfiReceivedInvoiceTypeVO invoicetypef7;
}