openapi: 3.1.1 info: title: Invoice version: 2.2.0 description: Schema definition for Invoice in the Beckn Protocol v2.0.1 license: name: CC-BY-NC-SA 4.0 International contact: name: Beckn Labs url: https://beckn.io components: schemas: Invoice: x-iri: https://schema.beckn.io/Invoice/v2.2 description: An Invoice is a financial statement issued by a creditor to a debtor that itemises the amounts owed and records how they are settled. Each line item is a billed financial entry — an order, refund, commission, finder fee, or adjustment — rather than a product or service. The invoice tracks its lifecycle status, the agreed settlement terms, and the proofs of settlement (payment actions) that discharge the amount due. An invoice may be issued, updated, settled, cancelled, or disputed over its lifecycle. title: Invoice type: object properties: id: description: Stable invoice identifier (system id). While the chances of a UUID collision are rare, a combination of issuer identity and this id is recommended for global uniqueness. type: string format: uuid number: description: Human-visible invoice number. type: string issuedAt: description: Timestamp at which the invoice was issued. type: string format: date-time dueDate: description: Date by which the invoice amount is due for settlement. type: string format: date descriptor: description: Describes the nature of the invoice in human / agent readable terms. $ref: https://schema.beckn.io/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor status: description: The lifecycle state of the invoice expressed as a Descriptor whose code MUST be one of the standard invoice state values. allOf: - $ref: https://schema.beckn.io/Descriptor/v2.1/attributes.yaml#/components/schemas/Descriptor - type: object properties: code: enum: - DRAFT - PENDING - COMMITTED - SETTLED - CANCELLED - DISPUTED default: PENDING creditor: description: The party that is owed the net amount — the seller / provider. $ref: https://schema.beckn.io/Participant/v2.0/attributes.yaml#/components/schemas/Participant debtor: description: The party the invoice is issued to and who owes the net amount — the consumer being billed. $ref: https://schema.beckn.io/Participant/v2.0/attributes.yaml#/components/schemas/Participant statement: description: The itemised statement of charges that make up the invoice. Each entry pairs a consideration — the value being billed, whose considerationAttributes carries a JSON-LD object (by @type) identifying the underlying item such as a Contract, RetailOrder, DeliveryService, Commission, FinderFee, Adjustment, or Refund — with the monetary amount for that entry. type: array minItems: 1 items: type: object properties: consideration: description: The value being billed by this entry. Its considerationAttributes carries the JSON-LD object (@type) identifying what is billed — e.g. a Contract, RetailOrder, DeliveryService, Commission, FinderFee, Adjustment, or Refund. allOf: - $ref: https://schema.beckn.io/Consideration/v2.0/attributes.yaml#/components/schemas/Consideration - type: object properties: status: description: The lifecycle state of this billed entry, set and updated by the creditor or debtor as it moves from raised through to settled. The code MUST be one of the standard values. properties: code: enum: - PENDING - COMMITTED - DISPUTED - SETTLED default: PENDING amount: description: The monetary amount for this statement entry. $ref: https://schema.beckn.io/PriceSpecification/v2.1/attributes.yaml#/components/schemas/PriceSpecification required: - consideration - amount additionalProperties: false total: description: The net amount payable for this invoice across all line items. $ref: https://schema.beckn.io/PriceSpecification/v2.1/attributes.yaml#/components/schemas/PriceSpecification settlementTerms: description: The agreed terms under which the invoice is to be settled — amount, payment trigger, schedule, remittance account, and accepted methods. $ref: https://schema.beckn.io/SettlementTerm/v2.0/attributes.yaml#/components/schemas/SettlementTerm settlementAction: description: Proofs of settlement that discharge the invoice — one entry per payment event (supporting installments and partial payments), carrying the transaction reference, method, time, amount, and status. type: array items: $ref: https://schema.beckn.io/PaymentAction/v2.0/attributes.yaml#/components/schemas/PaymentAction invoiceAttributes: description: Domain-specific extension attributes for this invoice — tax regime (e.g. GST/VAT), e-invoice refs, legal boilerplate, etc. $ref: https://schema.beckn.io/Attributes/v2.0/attributes.yaml#/components/schemas/Attributes additionalProperties: false required: - id - number - issuedAt - creditor - debtor - statement x-tags: - common