knowledge/项目管理库/诺唯赞CRM项目/CRM模块拆解分析/应收-开票-收款-核销分析.md

1054 lines
31 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# knowledge
**一、运行截图**
![输入图片说明](/imgs/2024-02-27/7sqmTbmpxy34zmov.png)![](https://dev.rzdata.net/download/attachments/51773689/image2024-2-23_14-7-33.png?version=1&modificationDate=1708668455000&api=v2)
**二、应收分析**
应收,顾名思义,即为应该收入的销售单,应收主要与发票、收款、核销业务高度集成。
目前展示的功能为应收单列表,快捷查询应收单;提供申请开票、开票、申请合并开票、合并开票、导出功能。
#### 算法
可开票金额=价税合计-已开票金额-退货金额
注:退货金额来源于应收单详情的价税合计*退货数量
#### 关键业务流程
1我的应收
基于业务条件并通过登录用户的工号empno到订单表进行查询
1. 共享应收
基于业务条件并通过登录用户的工号empno到服务团队人员表t_crm_serviceman 通过客户编码(clientcode)跟订单表的客户编码关联查询出t_crm_serviceman 中bill_share_order不等于null (rolecode=负责人时为null)或者shareorder_no(不为不共享=共享->可能为读或者写)或者rolecode=负责人相关订单数据
1. 我负责的部门应收
基于业务条件并通过登录用户的userid查询部门责任信息表t_crm_deptduty如果系统设置--部门设置模块中 部门负责人、部门助理、技术支持等配置了则取部门负责人表的信息查询相关应收单数据
1. 全公司的应收
基于业务条件直接查询应收单表
4合并开票会验证客户是否被禁用禁用得客户无法开票
**三、发票分析**
开票业务在应收和订单中集成销售通过立即开票或者在应收列表点击申请开票然后助理审核对接到ERP生成发票数据通过ERP同步到CRM更新发票里面的状态。
**关键业务流程**
![输入图片说明](/imgs/2024-02-27/71g9Qgf3jtZsyCrQ.png)![](https://dev.rzdata.net/download/attachments/32900500/worddav203afe364bd9ac899a96f79012170090.png?version=1&modificationDate=1679883553000&api=v2)
#### 算法
1. 发票状态判断
2. 退货金额+开票金额=0、价税合计大于0等待开票
3. 价税合计 = 退货金额或者实际价税合家为0 :关闭;
4. 退货金额+开票金额>=订单价税合计:全开票;
5. 否则:部分开票
6. 当ERP系统里面发票结案状态为"强结案"同步到CRM系统时需要将强结案的发票红冲状态修改为"作废",将目前系统里面发票核销状态显示"已核销"逻辑去除并按原始核销状态的取值逻辑取值;
**四、收款与核销分析**
收款业务主要有收款单核销与收款单确认主要用于关联发票与收款单进行核销操作。
#### 算法
涉及算法的位置点击核销打开核销详情页面匹配发票数筛选相同开票单位且和当前选中的发票未核销金额相等的发票最多支持同时匹配3条
x=当前发票未核销金额a=匹配发票未核销金额b=匹配发票未核销金额c=匹配发票未核销金额size=数组长度i=数组当前下标minSize=数组最小下标maxSize=数组最大下标arr=数组
1. 匹配数1条
a=x
1. 匹配数2条
a+b=x
1. 匹配数3条
a+b+c=x
该算法的关键在于去除重复匹配的数据,减少循环层数,提高查询效率。
算法核心固定i同时前后移动数组进行比较这里只说明三条匹配的算法两条是一样的原理
1. 当minSize=0且maxSize=0时minSize=i+1maxSize=size+1同时从数组前后进行比比较
2. 当minSize>=size时i+1且跳出循环此时说明当次比较已经完成跳出循环进行下次比较
3. 当minSize>=maxSize时使maxSize=0maxSize=0i+1且跳出循环此时也说明当次比较完成跳出循环将下标进行初始化当前下标+1进行下一次比较
4. 当a+b+c=x时使maxSize=0maxSize=0i+1且跳出循环并将arr[i]arr[minSize]arr[maxSize]放入结果中(此时说明满足条件,将结果放入满足条件的集合中,跳出循环进行下一次比较)
5. 当a+b+c>x时minSizei保持不变maxSize-1继续进行比较
6. 当a+b+c<x时maxSizei保持不变minSize+1继续进行比较
#### 关键业务流程
![输入图片说明](/imgs/2024-02-27/QyRs49i3AeCiLNFZ.png)![](https://dev.rzdata.net/download/attachments/32900500/worddave0391ac8f62ed7c5b7c0a6ee64ee585b.png?version=1&modificationDate=1679883554000&api=v2)
接口列表
---
title: 诺唯赞CRM
language_tabs:
- shell: Shell
- http: HTTP
- javascript: JavaScript
- ruby: Ruby
- python: Python
- php: PHP
- java: Java
- go: Go
toc_footers: []
includes: []
search: true
code_clipboard: true
highlight_theme: darkula
headingLevel: 2
generator: "@tarslib/widdershins v4.0.22"
---
# 诺唯赞CRM
Base URLs:
# Authentication
# 发票明细
## GET 根据发票号查询发票明细列表
GET /api/invoiceDetail/listInvoiceDetail/{invoiceNum}
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|invoiceNum|path|string| |发票号|
|Authorization|header|string| |none|
> 返回示例
> 成功
```json
{
"resultMsg": "",
"resultCode": 0,
"result": [
{
"id": "",
"invoiceid": "",
"ordercode": "",
"productnum": "",
"productcode": "",
"productname": "",
"spec": "",
"salesUnitcode": "",
"salesUnit": "",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "",
"amount": 0,
"total": 0,
"lotnum": "",
"busiid": "",
"sourcecode": "",
"invoicenum": "",
"orderdetailid": "",
"erpdeptcode": "",
"erpdeptname": "",
"status": "",
"sourceId": "",
"productChainName": "",
"isgift": "",
"gifttype": "",
"ordererName": "",
"clientname": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## POST 根据发票编码查询发票明细列表
POST /api/invoiceDetail/listInvoiceDetailByCodes
> Body 请求参数
```json
[
"string"
]
```
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| |none|
|body|body|array[string]| |none|
> 返回示例
> 成功
```json
{
"resultMsg": "",
"resultCode": 0,
"result": [
{
"id": "",
"invoiceid": "",
"ordercode": "",
"productnum": "",
"productcode": "",
"productname": "",
"spec": "",
"salesUnitcode": "",
"salesUnit": "",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "",
"amount": 0,
"total": 0,
"lotnum": "",
"busiid": "",
"sourcecode": "",
"invoicenum": "",
"orderdetailid": "",
"erpdeptcode": "",
"erpdeptname": "",
"status": "",
"sourceId": "",
"productChainName": "",
"isgift": "",
"gifttype": "",
"ordererName": "",
"clientname": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
## GET 根据应收单编码分组获取开票金额
GET /api/invoiceDetail/getSumTotalGroupByReccode/{reccode}/{ordercode}
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|reccode|query|string| |none|
|ordercode|query|string| |none|
|Authorization|header|string| |none|
> 返回示例
> 成功
```json
[
{
"id": "",
"invoicecode": "",
"busidate": "",
"invoicenum": "",
"invoiceTime": "",
"invoiceCategory": "",
"status": "",
"redorblue": "",
"total": 0,
"currency": "",
"clientname": "",
"clientcode": "",
"invoicePname": "",
"isred": "",
"rednum": "",
"istooffice": "",
"invoicetype": "",
"isinvoicing": "",
"iswithgood": "",
"isintime": "",
"iswithtax": "",
"isoffpricetax": "",
"isgold": "",
"iselectronic": "",
"iscombined": "",
"taxnumber": "",
"openbank": "",
"bankacc": "",
"invoiceHead": "",
"invoiceAdd": "",
"phone": "",
"remark": "",
"detailList": [
{
"id": "",
"invoiceid": "",
"ordercode": "",
"productnum": "",
"productcode": "",
"productname": "",
"spec": "",
"salesUnitcode": "",
"salesUnit": "",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "",
"amount": 0,
"total": 0,
"lotnum": "",
"busiid": "",
"sourcecode": "",
"invoicenum": "",
"orderdetailid": "",
"erpdeptcode": "",
"erpdeptname": "",
"status": "",
"sourceId": "",
"productChainName": "",
"isgift": "",
"gifttype": "",
"ordererName": "",
"clientname": ""
}
],
"receiptAdd": "",
"invEmail": "",
"invUrl": "",
"writeamount": 0,
"receivedStatus": "",
"sourcecode": "",
"busiid": "",
"witeoffStatus": "",
"isAuto": "",
"redInvoiceWord": "",
"invoiceWord": "",
"isCheckAuthenticity": "",
"invoiceOfd": "",
"invoiceXml": ""
}
]
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|*anonymous*|[[InvoiceDetailRes](#schemainvoicedetailres)]|false|none||none|
id|string¦null|false|none||发票主键ID|
invoicecode|string¦null|false|none||发票编号|
busidate|string¦null|false|none||业务日期|
invoicenum|string¦null|false|none||发票号|
invoiceTime|string¦null|false|none||发票日期|
invoiceCategory|string¦null|false|none||开票类型 发票类别:普票--common;专票--special|
status|string¦null|false|none||开票状态 暂存--Z创建--A审核中--B已审核--C重新审核--D|
redorblue|string¦null|false|none||红蓝字|
total|number¦null|false|none||开票金额|
currency|string¦null|false|none||币别|
clientname|string¦null|false|none||客户名称|
clientcode|string¦null|false|none||客户编码|
invoicePname|string¦null|false|none||开票单位名称|
isred|string¦null|false|none||是否红冲|
rednum|string¦null|false|none||红冲票号|
istooffice|string¦null|false|none||是否寄往办事处|
invoicetype|string¦null|false|none||单据类型|
isinvoicing|string¦null|false|none||是否立即开票|
iswithgood|string¦null|false|none||是否随货同行|
isintime|string¦null|false|none||是否及时发送|
iswithtax|string¦null|false|none||是否按含税单价录入|
isoffpricetax|string¦null|false|none||是否价外税|
isgold|string¦null|false|none||是否开金税票|
iselectronic|string¦null|false|none||开电子发票YN|
iscombined|string¦null|false|none||合并开票YN|
taxnumber|string¦null|false|none||纳税号|
openbank|string¦null|false|none||开户银行|
bankacc|string¦null|false|none||银行账户|
invoiceHead|string¦null|false|none||开票抬头|
invoiceAdd|string¦null|false|none||开票地址|
phone|string¦null|false|none||电话|
remark|string¦null|false|none||备注|
detailList|[[InvoiceDetailEntity](#schemainvoicedetailentity)null|false|none||发票明细|
|»» id|string¦null|false|none||唯一ID<br />主键ID|
|»» invoiceid|string¦null|false|none||对应开票表主键|
|»» ordercode|string¦null|false|none||对应订单编码|
|»» productnum|string¦null|false|none||货号|
|»» productcode|string¦null|false|none||产品编码|
|»» productname|string¦null|false|none||产品名称|
|»» spec|string¦null|false|none||规格型号|
|»» salesUnitcode|string¦null|false|none||销售单位编码|
|»» salesUnit|string¦null|false|none||销售单位|
|»» taxprice|number¦null|false|none||含税单价|
|»» fileprice|number¦null|false|none||目录价|
|»» promprice|number¦null|false|none||促销价|
|»» valuationUnit|string¦null|false|none||计价单位|
|»» valuationQuantity|number¦null|false|none||计价数量,这个是用来配合发票金额进行保存的,可以是小数|
|»» salenum|number¦null|false|none||销售数量|
|»» taxRate|string¦null|false|none||税率%|
|»» amount|number¦null|false|none||产品总金额|
|»» total|number¦null|false|none||价税合计=产品总金额 + 税额|
|»» lotnum|string¦null|false|none||批号|
|»» busiid|string¦null|false|none||业务ID对应的应收单明细ID、订单明细ID|
|»» sourcecode|string¦null|false|none||业务来源编码:订单编码;应收单编码;<br />业务来源编码:订单编码;应收单编码|
|»» invoicenum|string¦null|false|none||发票号|
|»» orderdetailid|string¦null|false|none||订单明细id(订单上开票使用)|
|»» erpdeptcode|string¦null|false|none||ERP部门编码|
|»» erpdeptname|string¦null|false|none||ERP部门名称|
|»» status|string¦null|false|none||状态 启用QY禁用JY|
|»» sourceId|string¦null|false|none||来源ID|
|»» productChainName|string¦null|false|none||物料中文描述|
|»» isgift|string¦null|false|none||是否赠品|
|»» gifttype|string¦null|false|none||赠品类型|
|»» ordererName|string¦null|false|none||订货人|
|»» clientname|string¦null|false|none||客户名称|
|» receiptAdd|string¦null|false|none||文件地址|
|» invEmail|string¦null|false|none||邮箱地址|
|» invUrl|string¦null|false|none||电子发票地址|
|» writeamount|number¦null|false|none||核销金额|
|» receivedStatus|string¦null|false|none||核销情况|
|» sourcecode|string¦null|false|none||业务来源编码:订单编码;应收单编码;|
|» busiid|string¦null|false|none||发票业务id|
|» witeoffStatus|string¦null|false|none||核销状态|
|» isAuto|string¦null|false|none||是否自动开票 YN否|
|» redInvoiceWord|string¦null|false|none||红字发票代码|
|» invoiceWord|string¦null|false|none||发票代码|
|» isCheckAuthenticity|string¦null|false|none||是否查验真伪|
|» invoiceOfd|string¦null|false|none||ofd格式|
|» invoiceXml|string¦null|false|none||xml格式|
## GET 根据订单编码分组获取开票金额
GET /api/invoiceDetail/getSumTotalGroupByOrdercode/{ordercode}/{invoicecode}
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|ordercode|query|string| 是 |none|
|invoicecode|query|string| 是 |none|
|Authorization|header|string| 是 |none|
> 返回示例
> 成功
```json
[
{
"id": "",
"invoiceid": "",
"ordercode": "",
"productnum": "",
"productcode": "",
"productname": "",
"spec": "",
"salesUnitcode": "",
"salesUnit": "",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "",
"amount": 0,
"total": 0,
"lotnum": "",
"busiid": "",
"sourcecode": "",
"invoicenum": "",
"orderdetailid": "",
"erpdeptcode": "",
"erpdeptname": "",
"status": "",
"sourceId": "",
"productChainName": "",
"isgift": "",
"gifttype": "",
"ordererName": "",
"clientname": ""
}
]
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
状态码 **200**
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|*anonymous*|[[InvoiceDetailEntity](#schemainvoicedetailentity)]|false|none||none|
|» id|string¦null|false|none||唯一ID<br />主键ID|
|» invoiceid|string¦null|false|none||对应开票表主键|
|» ordercode|string¦null|false|none||对应订单编码|
|» productnum|string¦null|false|none||货号|
|» productcode|string¦null|false|none||产品编码|
|» productname|string¦null|false|none||产品名称|
|» spec|string¦null|false|none||规格型号|
|» salesUnitcode|string¦null|false|none||销售单位编码|
|» salesUnit|string¦null|false|none||销售单位|
|» taxprice|number¦null|false|none||含税单价|
|» fileprice|number¦null|false|none||目录价|
|» promprice|number¦null|false|none||促销价|
|» valuationUnit|string¦null|false|none||计价单位|
|» valuationQuantity|number¦null|false|none||计价数量,这个是用来配合发票金额进行保存的,可以是小数|
|» salenum|number¦null|false|none||销售数量|
|» taxRate|string¦null|false|none||税率%|
|» amount|number¦null|false|none||产品总金额|
|» total|number¦null|false|none||价税合计=产品总金额 + 税额|
|» lotnum|string¦null|false|none||批号|
|» busiid|string¦null|false|none||业务ID对应的应收单明细ID、订单明细ID|
|» sourcecode|string¦null|false|none||业务来源编码:订单编码;应收单编码;<br />业务来源编码:订单编码;应收单编码|
|» invoicenum|string¦null|false|none||发票号|
|» orderdetailid|string¦null|false|none||订单明细id(订单上开票使用)|
|» erpdeptcode|string¦null|false|none||ERP部门编码|
|» erpdeptname|string¦null|false|none||ERP部门名称|
|» status|string¦null|false|none||状态 启用QY禁用JY|
|» sourceId|string¦null|false|none||来源ID|
|» productChainName|string¦null|false|none||物料中文描述|
|» isgift|string¦null|false|none||是否赠品|
|» gifttype|string¦null|false|none||赠品类型|
|» ordererName|string¦null|false|none||订货人|
|» clientname|string¦null|false|none||客户名称|
## GET 根据开票单主键获取明细集合
GET /api/invoiceDetail/getListByInvoiceid/{invoiceid}
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|invoiceid|query|string| 是 |none|
|Authorization|header|string| 是 |none|
> 返回示例
> 成功
```json
{
"resultMsg": "",
"resultCode": 0,
"result": {}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|[AjaxResult](#schemaajaxresult)|
## POST 根据id批量修改SAP发票号
POST /api/invoiceDetail/updateSapInvoiceNumberById
> Body 请求参数
```json
[
{
"id": "string",
"invoiceid": "string",
"ordercode": "string",
"productnum": "string",
"productcode": "string",
"productname": "string",
"spec": "string",
"salesUnitcode": "string",
"salesUnit": "string",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "string",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "string",
"amount": 0,
"total": 0,
"lotnum": "string",
"busiid": "string",
"sourcecode": "string",
"invoicenum": "string",
"orderdetailid": "string",
"erpdeptcode": "string",
"erpdeptname": "string",
"status": "string",
"sourceId": "string",
"productChainName": "string",
"isgift": "string",
"gifttype": "string",
"ordererName": "string",
"clientname": "string"
}
]
```
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |none|
|body|body|[InvoiceDetailEntity](#schemainvoicedetailentity)| 否 |none|
> 返回示例
> 成功
```json
{
"resultMsg": "",
"resultCode": 0,
"result": {}
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|[AjaxResult](#schemaajaxresult)|
## POST 根据发票主键id集合获取对应的发票明细集合
POST /api/invoiceDetail/listByInvoiceIdList
> Body 请求参数
```json
[
"string"
]
```
### 请求参数
|名称|位置|类型|必选|说明|
|---|---|---|---|---|
|Authorization|header|string| 是 |none|
|body|body|array[string]| 否 |none|
> 返回示例
> 成功
```json
{
"resultMsg": "",
"resultCode": 0,
"result": [
{
"id": "",
"invoiceid": "",
"ordercode": "",
"productnum": "",
"productcode": "",
"productname": "",
"spec": "",
"salesUnitcode": "",
"salesUnit": "",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "",
"amount": 0,
"total": 0,
"lotnum": "",
"busiid": "",
"sourcecode": "",
"invoicenum": "",
"orderdetailid": "",
"erpdeptcode": "",
"erpdeptname": "",
"status": "",
"sourceId": "",
"productChainName": "",
"isgift": "",
"gifttype": "",
"ordererName": "",
"clientname": ""
}
]
}
```
### 返回结果
|状态码|状态码含义|说明|数据模型|
|---|---|---|---|
|200|[OK](https://tools.ietf.org/html/rfc7231#section-6.3.1)|成功|Inline|
### 返回数据结构
# 数据模型
<h2 id="tocS_AjaxResult">AjaxResult</h2>
<a id="schemaajaxresult"></a>
<a id="schema_AjaxResult"></a>
<a id="tocSajaxresult"></a>
<a id="tocsajaxresult"></a>
```json
{
"resultMsg": "string",
"resultCode": 0,
"result": {}
}
```
### 属性
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|resultMsg|string¦null|false|none||返回信息|
|resultCode|integer¦null|false|none||状态编码|
|result|object|false|none||返回数据|
<h2 id="tocS_"></h2>
<a id="schema"></a>
<a id="schema_"></a>
<a id="tocS"></a>
<a id="tocs"></a>
```json
{}
```
### 属性
*None*
<h2 id="tocS_InvoiceDetailEntity">InvoiceDetailEntity</h2>
<a id="schemainvoicedetailentity"></a>
<a id="schema_InvoiceDetailEntity"></a>
<a id="tocSinvoicedetailentity"></a>
<a id="tocsinvoicedetailentity"></a>
```json
{
"id": "string",
"invoiceid": "string",
"ordercode": "string",
"productnum": "string",
"productcode": "string",
"productname": "string",
"spec": "string",
"salesUnitcode": "string",
"salesUnit": "string",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "string",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "string",
"amount": 0,
"total": 0,
"lotnum": "string",
"busiid": "string",
"sourcecode": "string",
"invoicenum": "string",
"orderdetailid": "string",
"erpdeptcode": "string",
"erpdeptname": "string",
"status": "string",
"sourceId": "string",
"productChainName": "string",
"isgift": "string",
"gifttype": "string",
"ordererName": "string",
"clientname": "string"
}
```
### 属性
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|id|string¦null|false|none||唯一ID<br />主键ID|
|invoiceid|string¦null|false|none||对应开票表主键|
|ordercode|string¦null|false|none||对应订单编码|
|productnum|string¦null|false|none||货号|
|productcode|string¦null|false|none||产品编码|
|productname|string¦null|false|none||产品名称|
|spec|string¦null|false|none||规格型号|
|salesUnitcode|string¦null|false|none||销售单位编码|
|salesUnit|string¦null|false|none||销售单位|
|taxprice|number¦null|false|none||含税单价|
|fileprice|number¦null|false|none||目录价|
|promprice|number¦null|false|none||促销价|
|valuationUnit|string¦null|false|none||计价单位|
|valuationQuantity|number¦null|false|none||计价数量,这个是用来配合发票金额进行保存的,可以是小数|
|salenum|number¦null|false|none||销售数量|
|taxRate|string¦null|false|none||税率%|
|amount|number¦null|false|none||产品总金额|
|total|number¦null|false|none||价税合计=产品总金额 + 税额|
|lotnum|string¦null|false|none||批号|
|busiid|string¦null|false|none||业务ID对应的应收单明细ID、订单明细ID|
|sourcecode|string¦null|false|none||业务来源编码:订单编码;应收单编码;<br />业务来源编码:订单编码;应收单编码|
|invoicenum|string¦null|false|none||发票号|
|orderdetailid|string¦null|false|none||订单明细id(订单上开票使用)|
|erpdeptcode|string¦null|false|none||ERP部门编码|
|erpdeptname|string¦null|false|none||ERP部门名称|
|status|string¦null|false|none||状态 启用QY禁用JY|
|sourceId|string¦null|false|none||来源ID|
|productChainName|string¦null|false|none||物料中文描述|
|isgift|string¦null|false|none||是否赠品|
|gifttype|string¦null|false|none||赠品类型|
|ordererName|string¦null|false|none||订货人|
|clientname|string¦null|false|none||客户名称|
<h2 id="tocS_InvoiceDetailRes">InvoiceDetailRes</h2>
<a id="schemainvoicedetailres"></a>
<a id="schema_InvoiceDetailRes"></a>
<a id="tocSinvoicedetailres"></a>
<a id="tocsinvoicedetailres"></a>
```json
{
"id": "string",
"invoicecode": "string",
"busidate": "string",
"invoicenum": "string",
"invoiceTime": "string",
"invoiceCategory": "string",
"status": "string",
"redorblue": "string",
"total": 0,
"currency": "string",
"clientname": "string",
"clientcode": "string",
"invoicePname": "string",
"isred": "string",
"rednum": "string",
"istooffice": "string",
"invoicetype": "string",
"isinvoicing": "string",
"iswithgood": "string",
"isintime": "string",
"iswithtax": "string",
"isoffpricetax": "string",
"isgold": "string",
"iselectronic": "string",
"iscombined": "string",
"taxnumber": "string",
"openbank": "string",
"bankacc": "string",
"invoiceHead": "string",
"invoiceAdd": "string",
"phone": "string",
"remark": "string",
"detailList": [
{
"id": "string",
"invoiceid": "string",
"ordercode": "string",
"productnum": "string",
"productcode": "string",
"productname": "string",
"spec": "string",
"salesUnitcode": "string",
"salesUnit": "string",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "string",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "string",
"amount": 0,
"total": 0,
"lotnum": "string",
"busiid": "string",
"sourcecode": "string",
"invoicenum": "string",
"orderdetailid": "string",
"erpdeptcode": "string",
"erpdeptname": "string",
"status": "string",
"sourceId": "string",
"productChainName": "string",
"isgift": "string",
"gifttype": "string",
"ordererName": "string",
"clientname": "string"
}
],
"receiptAdd": "string",
"invEmail": "string",
"invUrl": "string",
"writeamount": 0,
"receivedStatus": "string",
"sourcecode": "string",
"busiid": "string",
"witeoffStatus": "string",
"isAuto": "string",
"redInvoiceWord": "string",
"invoiceWord": "string",
"isCheckAuthenticity": "string",
"invoiceOfd": "string",
"invoiceXml": "string"
}
```
### 属性
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|id|string¦null|false|none||发票主键ID|
|invoicecode|string¦null|false|none||发票编号|
|busidate|string¦null|false|none||业务日期|
|invoicenum|string¦null|false|none||发票号|
|invoiceTime|string¦null|false|none||发票日期|
|invoiceCategory|string¦null|false|none||开票类型 :(发票类别):普票--common;专票--special|
|status|string¦null|false|none||开票状态 暂存--Z创建--A审核中--B已审核--C重新审核--D|
|redorblue|string¦null|false|none||红蓝字|
|total|number¦null|false|none||开票金额|
|currency|string¦null|false|none||币别|
|clientname|string¦null|false|none||客户名称|
|clientcode|string¦null|false|none||客户编码|
|invoicePname|string¦null|false|none||开票单位名称|
|isred|string¦null|false|none||是否红冲|
|rednum|string¦null|false|none||红冲票号|
|istooffice|string¦null|false|none||是否寄往办事处|
|invoicetype|string¦null|false|none||单据类型|
|isinvoicing|string¦null|false|none||是否立即开票|
|iswithgood|string¦null|false|none||是否随货同行|
|isintime|string¦null|false|none||是否及时发送|
|iswithtax|string¦null|false|none||是否按含税单价录入|
|isoffpricetax|string¦null|false|none||是否价外税|
|isgold|string¦null|false|none||是否开金税票|
|iselectronic|string¦null|false|none||开电子发票YN|
|iscombined|string¦null|false|none||合并开票YN|
|taxnumber|string¦null|false|none||纳税号|
|openbank|string¦null|false|none||开户银行|
|bankacc|string¦null|false|none||银行账户|
|invoiceHead|string¦null|false|none||开票抬头|
|invoiceAdd|string¦null|false|none||开票地址|
|phone|string¦null|false|none||电话|
|remark|string¦null|false|none||备注|
|detailList|[[InvoiceDetailEntity](#schemainvoicedetailentity)]¦null|false|none||发票明细|
|receiptAdd|string¦null|false|none||文件地址|
|invEmail|string¦null|false|none||邮箱地址|
|invUrl|string¦null|false|none||电子发票地址|
|writeamount|number¦null|false|none||核销金额|
|receivedStatus|string¦null|false|none||核销情况|
|sourcecode|string¦null|false|none||业务来源编码:订单编码;应收单编码;|
|busiid|string¦null|false|none||发票业务id|
|witeoffStatus|string¦null|false|none||核销状态|
|isAuto|string¦null|false|none||是否自动开票 YN否|
|redInvoiceWord|string¦null|false|none||红字发票代码|
|invoiceWord|string¦null|false|none||发票代码|
|isCheckAuthenticity|string¦null|false|none||是否查验真伪|
|invoiceOfd|string¦null|false|none||ofd格式|
|invoiceXml|string¦null|false|none||xml格式|
<h2 id="tocS_AjaxResult«List«InvoiceDetailEntity»»">AjaxResult«List«InvoiceDetailEntity»»</h2>
<a id="schemaajaxresult«list«invoicedetailentity»»"></a>
<a id="schema_AjaxResult«List«InvoiceDetailEntity»»"></a>
<a id="tocSajaxresult«list«invoicedetailentity»»"></a>
<a id="tocsajaxresult«list«invoicedetailentity»»"></a>
```json
{
"resultMsg": "string",
"resultCode": 0,
"result": [
{
"id": "string",
"invoiceid": "string",
"ordercode": "string",
"productnum": "string",
"productcode": "string",
"productname": "string",
"spec": "string",
"salesUnitcode": "string",
"salesUnit": "string",
"taxprice": 0,
"fileprice": 0,
"promprice": 0,
"valuationUnit": "string",
"valuationQuantity": 0,
"salenum": 0,
"taxRate": "string",
"amount": 0,
"total": 0,
"lotnum": "string",
"busiid": "string",
"sourcecode": "string",
"invoicenum": "string",
"orderdetailid": "string",
"erpdeptcode": "string",
"erpdeptname": "string",
"status": "string",
"sourceId": "string",
"productChainName": "string",
"isgift": "string",
"gifttype": "string",
"ordererName": "string",
"clientname": "string"
}
]
}
```
### 属性
|名称|类型|必选|约束|中文名|说明|
|---|---|---|---|---|---|
|resultMsg|string¦null|false|none||返回信息|
|resultCode|integer¦null|false|none||状态编码|
|result|[[InvoiceDetailEntity](#schemainvoicedetailentity)]¦null|false|none||返回数据|
<!--stackedit_data:
eyJoaXN0b3J5IjpbMjY1MDkwMzksLTEyNTQ4MTcwNzksLTEyNT
Q4MTcwNzksLTI3NTc4Mjc0MywtMjAyNzk0ODQ1MCw0NTY3ODQy
MTddfQ==
-->