Late Invoice Clause With Payment
A sample Late invoice clause which emits a payment obligation.
A sample Late invoice clause which emits a payment obligation.
A sample Late invoice clause which emits a payment obligation.
2.4 "Betty Buyer" is not required to pay any invoice that is issued more than 180 days after it is due to be issued by "Steve Seller".
2.4 "Betty Buyer" is not required to pay any invoice that is issued more than 180 days after it is due to be issued by "Steve Seller".
2.4 {{purchaser}} is not required to pay any invoice that is issued more than {{maximumDelay}} after it is due to be issued by {{supplier}}.
{
"$class": "org.accordproject.lateinvoicewithpayment.LateInvoiceContract",
"maximumDelay": {
"$class": "org.accordproject.time.Duration",
"amount": 180,
"unit": "days"
},
"purchaser": "resource:org.accordproject.party.Party#Betty%20Buyer",
"supplier": "resource:org.accordproject.party.Party#Steve%20Seller",
"contractId": "ff486949-28f2-43a0-9ab4-af26e0cbf640",
"$identifier": "ff486949-28f2-43a0-9ab4-af26e0cbf640"
}
namespace org.accordproject.lateinvoicewithpayment
import org.accordproject.contract.* from https://models.accordproject.org/accordproject/contract.cto
import org.accordproject.party.* from https://models.accordproject.org/accordproject/party.cto
import org.accordproject.runtime.* from https://models.accordproject.org/accordproject/runtime.cto
import org.accordproject.obligation.* from https://models.accordproject.org/accordproject/obligation.cto
import org.accordproject.time.* from https://models.accordproject.org/time@0.2.0.cto
import org.accordproject.money.* from https://models.accordproject.org/money@0.2.0.cto
/**
* Defines the data model for the LateInvoice template.
* This defines the structure of the abstract syntax tree that the parser for the template
* must generate from input source text.
*/
asset LateInvoiceContract extends Contract {
/**
* If the invoice deliver date >= termination date then the buyer does not have to pay
*/
o Duration maximumDelay
--> Party purchaser
--> Party supplier
}
/**
* Defines the input data required by the template
*/
transaction LateInvoiceRequest extends Request {
/**
* What was the agreed delivery date for the invoice?
*/
o DateTime invoiceDue
o MonetaryAmount amountDue
}
/**
* Defines the output data for the template
*/
transaction LateInvoiceResponse extends Response {
o Boolean paymentRequired
o String cause optional
}
Find the full logic for this template on on GitHub.
Type | Sample JSON |
---|---|
org.accordproject.runtime.State |
|
Type | Sample JSON |
---|---|
org.accordproject.lateinvoicewithpayment.LateInvoiceRequest |
|
Type | Sample JSON |
---|---|
org.accordproject.lateinvoicewithpayment.LateInvoiceResponse |
|
Type | Sample JSON |
---|---|
org.accordproject.obligation.PaymentObligation |
|
Please refer to the Accord Project documentation for how to use a template or integrate it within your application.
View the Latest code for this template on GitHub.