diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyOpenApiBodyDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyOpenApiBodyDTO.java new file mode 100644 index 00000000..8ccb4141 --- /dev/null +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyOpenApiBodyDTO.java @@ -0,0 +1,70 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * 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 为原文 {"serialNo":"KPSQ-JCZX-202509-002270,KPSQ-JCZX-202509-002276","sellerTaxpayerId":"91450000MA5Q1G1M59"} Base64 编码后的字符串): + *
{@code
+ * {
+ * "businessSystemCode": "XDWL02",
+ * "interfaceCode": "BILL.INVOICE.QUERY",
+ * "data": "ewogICAgICAgICJzZXJpYWxObyI6ICJLUFNRLUpDWlgtMjAyNTA5LTAwMjI3MCxLUFNRLUpDWlgtMjAyNTA5LTAwMjI3NiIsCiAgICAgICAgInNlbGxlclRheHBheWVySWQiOiAiOTE0NTAwMDBNQTVRMUcxTTU5IgogICAgfQ=="
+ * }
+ * }
+ *
+ * @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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyOpenApiQueryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyOpenApiQueryDTO.java
new file mode 100644
index 00000000..4692e0e3
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyOpenApiQueryDTO.java
@@ -0,0 +1,51 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * + * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * 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; +} diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyQueryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyQueryDTO.java new file mode 100644 index 00000000..9b29ba17 --- /dev/null +++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceApplyQueryDTO.java @@ -0,0 +1,72 @@ +/** + * BladeX Commercial License Agreement + * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved. + *
+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * 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 开票申请单查询参数 + *
+ * 请求示例: + *
{@code
+ * GET /ierp/kapi/v2/awrp/sim/sim_original_bill/query?systemsource=WCCK&pageSize=10&pageNo=1
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiInvoiceApplyQueryDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 页码,从1开始
+ */
+ private Integer pageNo;
+ /**
+ * 页数
+ */
+ private Integer pageSize;
+ /**
+ * 业务单据编号,高频查询需要推送该字段
+ */
+ private List+ * Use of this software is governed by the Commercial License Agreement + * obtained after purchasing a license from BladeX. + *
+ * 1. This software is for development use only under a valid license + * from BladeX. + *
+ * 2. Redistribution of this software's source code to any third party + * without a commercial license is strictly prohibited. + *
+ * 3. Licensees may copyright their own code but cannot use segments + * from this software for such purposes. Copyright of this software + * remains with BladeX. + *
+ * Using this software signifies agreement to this License, and the software + * must not be used for illegal purposes. + *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is + * not liable for any claims arising from secondary or illegal development. + *
+ * 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
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 开票申请单新增参数
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceAssignBodyDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceAssignBodyDTO.java
new file mode 100644
index 00000000..e2ae3e29
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceAssignBodyDTO.java
@@ -0,0 +1,69 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 收票指定应付请求体
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceDownloadDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceDownloadDTO.java
new file mode 100644
index 00000000..12624ff1
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoiceDownloadDTO.java
@@ -0,0 +1,54 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 进项发票下载(文件下载)参数
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 查询全票池发票数据参数
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 收票单查询参数
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 收票单新增(批量保存)参数
+ *
+ * 请求示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoiceApplyEntryVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoiceApplyEntryVO.java
new file mode 100644
index 00000000..5716108d
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoiceApplyEntryVO.java
@@ -0,0 +1,159 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoiceApplyVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoiceApplyVO.java
new file mode 100644
index 00000000..909c1518
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoiceApplyVO.java
@@ -0,0 +1,377 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 开票申请单查询返回结果
+ *
+ * 成功响应示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoicePoolVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoicePoolVO.java
new file mode 100644
index 00000000..fb45dd96
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiInvoicePoolVO.java
@@ -0,0 +1,285 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 查询全票池发票数据返回结果
+ *
+ * 成功响应示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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 开票申请发票查询统一返回结果
+ *
+ * 成功响应示例:
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiReceivedInvoiceTypeVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiReceivedInvoiceTypeVO.java
new file mode 100644
index 00000000..1311f6d6
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiReceivedInvoiceTypeVO.java
@@ -0,0 +1,50 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiReceivedInvoiceVO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiReceivedInvoiceVO.java
new file mode 100644
index 00000000..af54e157
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/vo/BfiReceivedInvoiceVO.java
@@ -0,0 +1,413 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ *
+ * Use of this software is governed by the Commercial License Agreement
+ * obtained after purchasing a license from BladeX.
+ *
+ * 1. This software is for development use only under a valid license
+ * from BladeX.
+ *
+ * 2. Redistribution of this software's source code to any third party
+ * without a commercial license is strictly prohibited.
+ *
+ * 3. Licensees may copyright their own code but cannot use segments
+ * from this software for such purposes. Copyright of this software
+ * remains with BladeX.
+ *
+ * Using this software signifies agreement to this License, and the software
+ * must not be used for illegal purposes.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY. The author is
+ * not liable for any claims arising from secondary or illegal development.
+ *
+ * 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{@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"
+ * }
+ * ]
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @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{@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"
+ * }
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiInvoiceAssignBodyDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 指定关系数据
+ */
+ private List{@code
+ * {
+ * "path": "234e244b2c803400"
+ * }
+ * }
+ *
+ * @author Chill
+ */
+@Data
+public class BfiInvoiceDownloadDTO implements Serializable {
+ @Serial
+ private static final long serialVersionUID = 1L;
+ /**
+ * 文件url,如票池发票的 downloadUrl/imageUrl
+ */
+ private String path;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoicePoolQueryDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoicePoolQueryDTO.java
new file mode 100644
index 00000000..8c5fbdb0
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiInvoicePoolQueryDTO.java
@@ -0,0 +1,57 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * {@code
+ * {
+ * "queryParam": {
+ * "invoiceNo": "25532000000044538098"
+ * }
+ * }
+ * }
+ * 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{@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
+ * }
+ *
+ * @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;
+}
diff --git a/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiReceivedInvoiceSaveBodyDTO.java b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiReceivedInvoiceSaveBodyDTO.java
new file mode 100644
index 00000000..4fc80aaf
--- /dev/null
+++ b/blade-third-party-api/blade-bfi-api/src/main/java/org/springblade/thirdparty/bfi/pojo/dto/BfiReceivedInvoiceSaveBodyDTO.java
@@ -0,0 +1,47 @@
+/**
+ * BladeX Commercial License Agreement
+ * Copyright (c) 2018-2099, https://bladex.cn. All rights reserved.
+ * {@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
+ * }
+ * ]
+ * }
+ * }
+ *
+ * @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{@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
+ * }
+ * }
+ *
+ * @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{@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
+ * }
+ * }
+ * 字段明细参考票易通文档 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{@code
+ * {
+ * "data": [ { "billNo": "KPSQ-JCZX-202509-002276", "invoiceList": [ ... ] } ],
+ * "errorCode": "S0000",
+ * "success": true
+ * }
+ * }
+ * data 内容为发票明细,参考票易通文档 https://open.piaozone.com/api-146003729
+ *
+ * @param