Xero Invoice API标注DueDate为可选但必填,求优化方案及原因
Xero Invoice API:标注可选的DueDate字段实际必填的问题及优化咨询
我开发了一款向Xero提交发票的应用,根据Xero Invoice API文档,DueDate字段被标注为可选,但当请求中不包含该字段时,会返回如下验证错误:
"ValidationErrors": [ { "Message": "Due Date cannot be empty" } ]
这和API规范描述不符。
我目前的解决方案是:
- 在创建/更新联系人时,捕获并存储其付款条款(Contacts API返回示例:
"PaymentTerms": { "Sales": { "Day": 15, "Type": "OFFOLLOWINGMONTH" } }) - 调用Organisation API获取平台默认付款条款
- 通过逻辑计算
DueDate:如果存储的联系人付款条款为空,则使用组织默认条款;否则根据发票日期和联系人付款条款计算到期日
但这个方案需要更新数据库、存储额外信息,还要做额外测试,不够理想。
我有两个疑问:
- 是否存在更优的实现方式?
- 若
DueDate是Invoice API的必填字段,Xero为何未内置基于付款条款自动计算该字段的逻辑?
内容的提问来源于stack exchange,提问作者Rob
相关产品推荐
相关产品推荐

