Apideck · Schema

Invoice

IntegrationsUnified API

Properties

Name Type Description
id object
downstream_id object
display_id object
type string Invoice type
number string Invoice number.
customer object
company_id object
location_id object
department_id object
invoice_date string Date invoice was issued - YYYY-MM-DD.
due_date string The invoice due date is the date on which a payment or invoice is scheduled to be received by the seller - YYYY-MM-DD.
terms string Terms of payment.
terms_id object
po_number string A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order.
reference object
status string Invoice status
invoice_sent boolean Invoice sent to contact/customer.
currency object
currency_rate object
tax_inclusive object
sub_total number Sub-total amount, normally before tax.
total_tax number Total tax amount applied to this invoice.
tax_code string Applicable tax id/code override if tax is not supplied on a line item basis.
discount_percentage number Discount percentage applied to this invoice.
discount_amount number Discount amount applied to this invoice.
total number Total amount of invoice, including tax.
balance number Balance of invoice due.
deposit number Amount of deposit made to this invoice.
customer_memo string Customer memo
tracking_category object
tracking_categories object
line_items array
billing_address object
shipping_address object
template_id string Optional invoice template
source_document_url string URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero.
payment_allocations array IDs of payments made on the invoice
payment_method object
channel object
language object
accounting_by_row object
bank_account object
ledger_account object
custom_mappings object
custom_fields array
row_version object
updated_by object
created_by object
updated_at object
created_at object
pass_through object
View JSON Schema on GitHub

JSON Schema

apideck-invoice-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Invoice",
  "title": "Invoice",
  "type": "object",
  "x-apideck-schema-id": "Invoice",
  "additionalProperties": false,
  "x-apideck-weights": {
    "id": "critical",
    "downstream_id": "low",
    "display_id": "low",
    "type": "high",
    "number": "high",
    "customer": "high",
    "company_id": "middle",
    "location_id": "low",
    "department_id": "low",
    "invoice_date": "edge-case",
    "due_date": "edge-case",
    "terms": "low",
    "terms_id": "edge-case",
    "po_number": "low",
    "reference": "low",
    "status": "critical",
    "invoice_sent": "low",
    "currency": "medium",
    "currency_rate": "low",
    "tax_inclusive": "low",
    "sub_total": "high",
    "total_tax": "high",
    "tax_code": "medium",
    "discount_percentage": "medium",
    "discount_amount": "medium",
    "total": "critical",
    "balance": "high",
    "deposit": "low",
    "customer_memo": "low",
    "line_items": "critical",
    "billing_address": "high",
    "shipping_address": "medium",
    "template_id": "edge-case",
    "source_document_url": "edge-case",
    "payment_method": "low",
    "channel": "low",
    "language": "low",
    "accounting_by_row": "edge-case",
    "bank_account": "low",
    "ledger_account": "edge-case",
    "tracking_category": "low",
    "tracking_categories": "low",
    "row_version": "edge-case",
    "custom_fields": "medium",
    "updated_by": "low",
    "created_by": "low",
    "created_at": "high",
    "updated_at": "high"
  },
  "properties": {
    "id": {
      "$ref": "#/components/schemas/Id"
    },
    "downstream_id": {
      "$ref": "#/components/schemas/DownstreamId"
    },
    "display_id": {
      "$ref": "#/components/schemas/DisplayId"
    },
    "type": {
      "type": "string",
      "title": "Invoice type",
      "description": "Invoice type",
      "x-apideck-enum-id": "invoices.type",
      "enum": [
        "standard",
        "credit",
        "service",
        "product",
        "supplier",
        "other"
      ],
      "example": "service",
      "nullable": true
    },
    "number": {
      "type": "string",
      "title": "Invoice number",
      "description": "Invoice number.",
      "example": "OIT00546",
      "nullable": true
    },
    "customer": {
      "$ref": "#/components/schemas/LinkedCustomer"
    },
    "company_id": {
      "$ref": "#/components/schemas/AccountingCompanyId"
    },
    "location_id": {
      "$ref": "#/components/schemas/LocationId"
    },
    "department_id": {
      "$ref": "#/components/schemas/DepartmentId"
    },
    "invoice_date": {
      "type": "string",
      "title": "Invoice date",
      "description": "Date invoice was issued - YYYY-MM-DD.",
      "format": "date",
      "example": "2020-09-30",
      "nullable": true
    },
    "due_date": {
      "type": "string",
      "title": "Due date",
      "description": "The invoice due date is the date on which a payment or invoice is scheduled to be received by the seller - YYYY-MM-DD.",
      "format": "date",
      "example": "2020-09-30",
      "nullable": true
    },
    "terms": {
      "type": "string",
      "title": "Terms",
      "description": "Terms of payment.",
      "example": "Net 30 days",
      "nullable": true
    },
    "terms_id": {
      "$ref": "#/components/schemas/TermsId"
    },
    "po_number": {
      "type": "string",
      "title": "Purchase Order number",
      "description": "A PO Number uniquely identifies a purchase order and is generally defined by the buyer. The buyer will match the PO number in the invoice to the Purchase Order.",
      "example": "90000117",
      "nullable": true
    },
    "reference": {
      "$ref": "#/components/schemas/Reference"
    },
    "status": {
      "type": "string",
      "title": "Status",
      "description": "Invoice status",
      "example": "draft",
      "x-apideck-enum-id": "invoices.status",
      "enum": [
        "draft",
        "submitted",
        "authorised",
        "partially_paid",
        "paid",
        "unpaid",
        "void",
        "credit",
        "deleted",
        "posted"
      ],
      "nullable": true
    },
    "invoice_sent": {
      "type": "boolean",
      "title": "Invoice Sent",
      "description": "Invoice sent to contact/customer.",
      "example": true
    },
    "currency": {
      "$ref": "#/components/schemas/Currency"
    },
    "currency_rate": {
      "$ref": "#/components/schemas/CurrencyRate"
    },
    "tax_inclusive": {
      "$ref": "#/components/schemas/TaxInclusive"
    },
    "sub_total": {
      "title": "Sub-total amount",
      "description": "Sub-total amount, normally before tax.",
      "type": "number",
      "example": 27500,
      "nullable": true
    },
    "total_tax": {
      "type": "number",
      "title": "Total tax amount",
      "description": "Total tax amount applied to this invoice.",
      "example": 2500,
      "nullable": true
    },
    "tax_code": {
      "type": "string",
      "title": "Tax Code",
      "description": "Applicable tax id/code override if tax is not supplied on a line item basis.",
      "example": "1234",
      "nullable": true
    },
    "discount_percentage": {
      "type": "number",
      "title": "Discount Percent",
      "description": "Discount percentage applied to this invoice.",
      "example": 5.5,
      "nullable": true
    },
    "discount_amount": {
      "type": "number",
      "title": "Discount Amount",
      "description": "Discount amount applied to this invoice.",
      "example": 25,
      "nullable": true
    },
    "total": {
      "type": "number",
      "title": "Total amount",
      "description": "Total amount of invoice, including tax.",
      "example": 27500,
      "nullable": true
    },
    "balance": {
      "type": "number",
      "title": "Balance",
      "description": "Balance of invoice due.",
      "example": 27500,
      "nullable": true
    },
    "deposit": {
      "type": "number",
      "title": "Deposit",
      "description": "Amount of deposit made to this invoice.",
      "example": 0,
      "nullable": true
    },
    "customer_memo": {
      "type": "string",
      "title": "Customer memo",
      "description": "Customer memo",
      "example": "Thank you for your business and have a great day!",
      "nullable": true
    },
    "tracking_category": {
      "$ref": "#/components/schemas/DeprecatedLinkedTrackingCategory"
    },
    "tracking_categories": {
      "$ref": "#/components/schemas/LinkedTrackingCategories"
    },
    "line_items": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/InvoiceLineItem"
      }
    },
    "billing_address": {
      "$ref": "#/components/schemas/Address"
    },
    "shipping_address": {
      "$ref": "#/components/schemas/Address"
    },
    "template_id": {
      "type": "string",
      "title": "Template",
      "description": "Optional invoice template",
      "example": "123456",
      "nullable": true
    },
    "source_document_url": {
      "type": "string",
      "title": "Source document URL",
      "description": "URL link to a source document - shown as 'Go to [appName]' in the downstream app. Currently only supported for Xero.",
      "example": "https://www.invoicesolution.com/invoice/123456",
      "nullable": true
    },
    "payment_allocations": {
      "type": "array",
      "title": "Payments",
      "description": "IDs of payments made on the invoice",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "example": "123456",
            "title": "ID",
            "description": "ID of the payment",
            "nullable": false
          },
          "allocated_amount": {
            "type": "number",
            "example": 1000,
            "title": "Amount",
            "description": "Amount of the payment allocated to the invoice",
            "nullable": true
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "title": "Date",
            "description": "Date of the payment",
            "example": "2020-09-30T07:43:32.000Z",
            "nullable": true
          }
        }
      },
      "nullable": true
    },
    "payment_method": {
      "$ref": "#/components/schemas/PaymentMethod"
    },
    "channel": {
      "$ref": "#/components/schemas/Channel"
    },
    "language": {
      "$ref": "#/components/schemas/Language"
    },
    "accounting_by_row": {
      "$ref": "#/components/schemas/AccountingByRow"
    },
    "bank_account": {
      "$ref": "#/components/schemas/BankAccount"
    },
    "ledger_account": {
      "$ref": "#/components/schemas/LinkedLedgerAccount"
    },
    "custom_mappings": {
      "$ref": "#/components/schemas/CustomMappings"
    },
    "custom_fields": {
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/CustomField"
      }
    },
    "row_version": {
      "$ref": "#/components/schemas/RowVersion"
    },
    "updated_by": {
      "$ref": "#/components/schemas/UpdatedBy"
    },
    "created_by": {
      "$ref": "#/components/schemas/CreatedBy"
    },
    "updated_at": {
      "$ref": "#/components/schemas/UpdatedAt"
    },
    "created_at": {
      "$ref": "#/components/schemas/CreatedAt"
    },
    "pass_through": {
      "$ref": "#/components/schemas/PassThroughBody"
    }
  }
}