如何在schema.org发票类型

时间:2017-01-17 12:40:02

标签: schema.org invoice json-ld

我正在尝试为处理发票的应用程序提供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模式。

我正在寻找一种方法来标记这一点而不扩展官方架构......

1 个答案:

答案 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"
  }
}