InvoiceDTO: {
    activityIds?: string[];
    agreementId: string;
    amount: string;
    invoiceId: string;
    issuerId: string;
    payeeAddr: string;
    payerAddr: string;
    paymentDueDate: string;
    paymentPlatform: string;
    recipientId: string;
    status: "ISSUED" | "RECEIVED" | "ACCEPTED" | "REJECTED" | "FAILED" | "SETTLED" | "CANCELLED";
    timestamp: string;
}

An Invoice is an artifact issued by the Provider to the Requestor, in the context of a specific Agreement. It indicates the total Amount owed by the Requestor in this Agreement. No further Debit Notes shall be issued after the Invoice is issued. The issue of Invoice signals the Termination of the Agreement (if it hasn't been terminated already). No Activity execution is allowed after the Invoice is issued.

NOTE: An invoice can be issued even before any Activity is started in the context of an Agreement (eg. in one off, 'fire-and-forget' payment regime).

Type declaration

  • Optional activityIds?: string[]
  • agreementId: string
  • amount: string
  • Readonly invoiceId: string
  • Readonly issuerId: string
  • Readonly payeeAddr: string
  • Readonly payerAddr: string
  • paymentDueDate: string
  • Readonly paymentPlatform: string
  • Readonly recipientId: string
  • Readonly status: "ISSUED" | "RECEIVED" | "ACCEPTED" | "REJECTED" | "FAILED" | "SETTLED" | "CANCELLED"

    Accepted status indicates that the Requestor confirms the Amount/Total Amount Due on the Invoice/Debit Note, respectively. The Payment API Implementation is expected to proceed with the orchestration of the payment. Internals of the payment processing (e.g. payment processing internal states) are specific to the selected Payment Platform, and must be indicated as an attribute of the Accepted status. However, as they are specific - they shall not be standardized by the Payment API.

    A Rejected Invoice/Debit Note can subsequently be Accepted.

    An Accepted Invoice/Debit Note cannot be subsequently Rejected.

    There is a difference between Paid and Settled - depending on a Payment Platform. Paid indicates that the Requestor has ordered Payments of Total Amount Due as indicated by received/accepted Debit Notes/Invoice. Settled indicates that the Provider has reliably received the Payments.

    WARNING: 'Paid' status currently not implemented.

  • Readonly timestamp: string