{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "#/components/schemas/invoice", "title": "invoice", "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "object": { "type": "string" }, "live_mode": { "type": "boolean", "description": "This field will be true if this object exists in the live environment or false if it exists in the test environment." }, "created_at": { "type": "string", "format": "date-time" }, "updated_at": { "type": "string", "format": "date-time" }, "contact_details": { "type": "array", "items": { "$ref": "#/components/schemas/contact_detail" }, "description": "The invoicer's contact details displayed at the top of the invoice." }, "recipient_email": { "type": "string", "nullable": true, "description": "The email of the recipient of the invoice. Leaving this value as null will fallback to using the counterparty's name." }, "recipient_name": { "type": "string", "nullable": true, "description": "The name of the recipient of the invoice. Leaving this value as null will fallback to using the counterparty's name." }, "counterparty_id": { "type": "string", "description": "The ID of the counterparty receiving the invoice." }, "counterparty_billing_address": { "type": "object", "nullable": true, "description": "The counterparty's billing address.", "properties": { "line1": { "type": "string" }, "line2": { "type": "string" }, "locality": { "type": "string", "description": "Locality or City." }, "region": { "type": "string", "description": "Region or State." }, "postal_code": { "type": "string", "description": "The postal code of the address." }, "country": { "type": "string", "description": "Country code conforms to [ISO 3166-1 alpha-2]" } }, "required": [ "line1", "locality", "region", "postal_code", "country" ] }, "counterparty_shipping_address": { "type": "object", "nullable": true, "description": "The counterparty's shipping address where physical goods should be delivered.", "properties": { "line1": { "type": "string" }, "line2": { "type": "string" }, "locality": { "type": "string", "description": "Locality or City." }, "region": { "type": "string", "description": "Region or State." }, "postal_code": { "type": "string", "description": "The postal code of the address." }, "country": { "type": "string", "description": "Country code conforms to [ISO 3166-1 alpha-2]" } }, "required": [ "line1", "locality", "region", "postal_code", "country" ] }, "currency": { "$ref": "#/components/schemas/currency", "description": "Currency that the invoice is denominated in. Defaults to `USD` if not provided." }, "description": { "type": "string", "description": "An optional free-form description of the invoice." }, "due_date": { "type": "string", "format": "date-time", "description": "A future date by when the invoice needs to be paid." }, "invoicer_name": { "type": "string", "nullable": true, "description": "The name of the issuer for the invoice. Defaults to the name of the Organization." }, "invoicer_address": { "type": "object", "nullable": true, "description": "The invoice issuer's business address.", "properties": { "line1": { "type": "string" }, "line2": { "type": "string" }, "locality": { "type": "string", "description": "Locality or City." }, "region": { "type": "string", "description": "Region or State." }, "postal_code": { "type": "string", "description": "The postal code of the address." }, "country": { "type": "string", "description": "Country code conforms to [ISO 3166-1 alpha-2]" } }, "required": [ "line1", "locality", "region", "postal_code", "country" ] }, "originating_account_id": { "type": "string", "description": "The ID of the internal account the invoice should be paid to." }, "receiving_account_id": { "type": "string", "nullable": true, "format": "uuid", "description": "The receiving account ID. Can be an `internal_account`." }, "virtual_account_id": { "type": "string", "format": "uuid", "nullable": true, "description": "The ID of the virtual account the invoice should be paid to." }, "payment_effective_date": { "type": "string", "nullable": true, "format": "date", "description": "Date transactions are to be posted to the participants' account. Defaults to the current business day or the next business day if the current day is a bank holiday or weekend. Format: yyyy-mm-dd." }, "payment_type": { "type": "string", "nullable": true, "enum": [ "eft", "ach" ], "description": "One of `ach` or `eft`." }, "payment_method": { "type": "string", "nullable": true, "enum": [ "ui", "manual", "automatic" ], "description": "When opening an invoice, whether to show the embedded payment UI , automatically debit the recipient, or rely on manual payment from the recipient." }, "fallback_payment_method": { "type": "string", "nullable": true, "description": "When payment_method is automatic, the fallback payment method to use when an automatic payment fails. One of `manual` or `ui`." }, "notifications_enabled": { "type": "boolean", "description": "If true, the invoice will send email notifications to the invoice recipients about invoice status changes." }, "notification_email_addresses": { "type": "array", "nullable": true, "items": { "type": "string" }, "description": "Emails in addition to the counterparty email to send invoice status notifications to. At least one email is required if notifications are enabled and the counterparty doesn't have an email." }, "remind_after_overdue_days": { "type": "array", "items": { "type": "integer" }, "nullable": true, "description": "Number of days after due date when overdue reminder emails will be sent out to invoice recipients." }, "metadata": { "type": "object", "description": "Additional data represented as key-value pairs. Both the key and value must be strings.", "additionalProperties": { "type": "string" }, "example": { "key": "value", "foo": "bar", "modern": "treasury" }, "nullable": true }, "hosted_url": { "type": "string", "description": "The URL of the hosted web UI where the invoice can be viewed." }, "number": { "type": "string", "description": "A unique record number assigned to each invoice that is issued." }, "payment_orders": { "type": "array", "items": { "$ref": "#/components/schemas/payment_order" }, "description": "The payment orders created for paying the invoice through the invoice payment UI." }, "expected_payments": { "type": "array", "items": { "$ref": "#/components/schemas/expected_payment" }, "description": "The expected payments created for an unpaid invoice." }, "pdf_url": { "type": "string", "nullable": true, "description": "The URL where the invoice PDF can be downloaded." }, "status": { "type": "string", "enum": [ "draft", "paid", "partially_paid", "payment_pending", "unpaid", "voided" ], "description": "The status of the invoice." }, "total_amount": { "type": "integer", "description": "Total amount due in specified currency's smallest unit, e.g., $10 USD would be represented as 1000." }, "amount_remaining": { "type": "integer", "description": "Amount remaining due on the invoice in specified currency's smallest unit, e.g., $10 USD would be represented as 1000." }, "amount_paid": { "type": "integer", "description": "Amount paid on the invoice in specified currency's smallest unit, e.g., $10 USD would be represented as 1000." }, "transaction_line_item_ids": { "type": "array", "items": { "type": "string", "format": "uuid" }, "description": "IDs of transaction line items associated with an invoice." }, "ledger_account_settlement_id": { "type": "string", "nullable": true, "format": "uuid", "deprecated": true, "description": "The ledger account settlement object linked to the invoice." }, "issued_at": { "type": "string", "nullable": true, "format": "date-time", "description": "Translation missing: en.openapi.descriptions.invoice.schema.issued_at" }, "paid_at": { "type": "string", "nullable": true, "format": "date-time", "description": "Translation missing: en.openapi.descriptions.invoice.schema.paid_at" }, "voided_at": { "type": "string", "nullable": true, "format": "date-time", "description": "Translation missing: en.openapi.descriptions.invoice.schema.voided_at" } }, "additionalProperties": false, "minProperties": 41, "required": [ "id", "object", "live_mode", "created_at", "updated_at", "contact_details", "recipient_email", "recipient_name", "counterparty_id", "counterparty_billing_address", "counterparty_shipping_address", "currency", "description", "due_date", "invoicer_name", "invoicer_address", "originating_account_id", "receiving_account_id", "virtual_account_id", "payment_effective_date", "payment_type", "payment_method", "fallback_payment_method", "notifications_enabled", "notification_email_addresses", "remind_after_overdue_days", "metadata", "hosted_url", "number", "payment_orders", "expected_payments", "pdf_url", "status", "total_amount", "amount_remaining", "amount_paid", "transaction_line_item_ids", "ledger_account_settlement_id", "issued_at", "paid_at", "voided_at" ] }