我正在尝试为处理发票的应用程序提供JSON-LD输出。
该应用程序中的发票可以部分支付(也就是说,客户可能已支付部分金额,但不是全部),我需要能够在JSON-LD中指定两者 - 总发票金额和部分支付的金额。
我试图找出其他人是如何处理这种情况的,但是没有一个官方模式(我看过schema.org和Goodrelations)似乎对此类情况都有开箱即用的建议。 / p>
我目前的想法是将其表示为自定义付款状态值,其中包含 paidAmount
属性,其中包含部分付款金额,如下所示:
{
"@context": "https://schema.org",
"@type": "Invoice",
...
"paymentStatus": {
"@type": "PaymentStatusType",
"name": "PaymentPartiallyPaid",
"paidAmount": {
"@type": "MonetaryAmount",
"value": 42.31,
"currency": "EUR"
}
},
"totalPaymentDue": {
"value": 200.00,
"currency": "EUR"
}
}
这是有效的方法吗? 是否有一些现有的标记部分支付发票金额的例子? 还有更好的方法吗?
修改
事实证明,当使用链接数据时,你不能简单地组成新的属性,所以上面的方案不是有效的JSON-LD,除非我设法将我的扩展发布到Invoice模式。
我正在寻找一种方法来标记这一点而不扩展官方架构......
答案 0 :(得分:1)
我会使用minimumPaymentDue作为"此时所需的最低付款额度#34;与totalPaymentDue一起使用,即"应付总金额"。您可以将minimumPaymentDue的值设置为totalPaymentDue与已支付金额之间的差额。
你的totalPaymentDue在语法上也是不正确的,设置名称不是你如何设置PaymentStatusType类型的paymentStatus的枚举值 - 这些问题也在下面纠正了。
{
"@context": "https://schema.org",
"@type": "Invoice",
"paymentStatus": "https://schema.org/PaymentDue",
"totalPaymentDue": {
"@type": "MonetaryAmount",
"value": 200.00,
"currency": "EUR"
},
"minimumPaymentDue": {
"@type": "MonetaryAmount",
"value": 157.69,
"currency": "EUR"
}
}