AppZen Invoices API

The Invoices API from AppZen — 3 operation(s) for invoices.

OpenAPI Specification

appzen-invoices-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Autonomous AP APIs Chart of Accounts Invoices API
  description: Public APIs for integrating with Autonomous AP
  version: 2.0.3
host: <env>.appzen.com
basePath: /dictionary-data-services
schemes:
- https
security:
- API Key Header: []
  Customer Id Header: []
  Customer Key Header: []
tags:
- name: Invoices
paths:
  /invoice:
    post:
      tags:
      - Invoices
      summary: Creates/Updates an invoice
      description: This will create a new invoice in AppZen referred by uuid. This invoice will be processed further by AppZen for extraction and validation. When there already exists an invoice (invoice_id), then the operation is an update (the `status` would be `UPDATED` in this case).
      parameters:
      - $ref: '#/parameters/invoice-json-schema'
      - in: header
        name: historical
        type: boolean
        required: false
        default: false
        description: Flag to indicate whether the invoice is historical or not
      - in: header
        name: bypass-coa-lookup
        type: boolean
        required: false
        default: false
        description: Flag to indicate whether the Chart of Account segments should be identified/constructed by parsing gl_code
      responses:
        200:
          description: Updated
          schema:
            $ref: '#/definitions/uuid-updated'
        201:
          description: Created
          schema:
            $ref: '#/definitions/uuid'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/http-400-error-response'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/http-401-error-response'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/http-403-error-response'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/http-404-error-response'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/http-500-error-response'
  /invoice/search:
    post:
      tags:
      - Invoices
      summary: Returns all invoices uuid that match the search criteria
      description: Returns a list of the invoice uuids that match the status, from-date and end-date
      consumes:
      - application/json
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/find-invoice-query-spec'
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/find-invoice-result-spec'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/http-400-error-response'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/http-401-error-response'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/http-403-error-response'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/http-404-error-response'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/http-500-error-response'
  /invoice/{uuid}:
    get:
      tags:
      - Invoices
      summary: Returns an invoice's details
      description: Returns the details of an invoice by uuid
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/uuid'
      responses:
        200:
          description: OK
          schema:
            $ref: '#/definitions/invoice-get-json-schema'
        400:
          description: Bad Request
          schema:
            $ref: '#/definitions/http-400-error-response'
        401:
          description: Unauthorized
          schema:
            $ref: '#/definitions/http-401-error-response'
        403:
          description: Forbidden
          schema:
            $ref: '#/definitions/http-403-error-response'
        404:
          description: Not Found
          schema:
            $ref: '#/definitions/http-404-error-response'
        500:
          description: Internal Server Error
          schema:
            $ref: '#/definitions/http-500-error-response'
definitions:
  invoice-line-custom-json:
    type: object
    description: 'Maximum of 20 fields allowed, 500 chars per field.

      The following is the list of predefined reserved field names. They are the only field names that can have prefix &quot;appzen&#58; &quot;. They are also not subject to the maximum count limit.


      appzen&#58; line_level_note_text

      '
    example:
      approval-code: KE-382
      category: internal-projects
      'appzen: line_level_note_text': Include total check
  find-invoice-result-spec:
    example:
    - erp-invoice-id: 11069-Visit
      erp-invoice-status: Ready for Review
      appzen-uuid: 57187384-2f9d-4f82-acac-555a264ba968
      appzen-invoice-status: REJECTED
      last-appzen-update-time: '2021-06-16T18:53:38.603Z'
    - erp-invoice-id: '11070'
      erp-invoice-status: Ready for Review
      appzen-uuid: cf3a63d3-3d26-4678-95ac-f3ed4cd8d9bf
      appzen-invoice-status: PROCESSED
      last-appzen-update-time: '2021-06-16T18:54:00.487Z'
    properties:
      erp-invoice-id:
        type: string
      erp-invoice-status:
        type: string
      appzen-uuid:
        type: string
      appzen-invoice-status:
        type: string
      last-appzen-update-time:
        type: string
  withholding-tax:
    type: object
    properties:
      type:
        type: string
      code:
        type: string
      base_amount:
        type: object
        required:
        - amount
        - currency
        properties:
          amount:
            type: number
          currency:
            type: string
      wht_amount:
        type: object
        required:
        - amount
        - currency
        properties:
          amount:
            type: number
          currency:
            type: string
  invoice-line-condition:
    type: object
    description: Represents a PO condition associated with an invoice line (used for subsequent invoice types like freight, tax, etc.)
    properties:
      scope:
        type: string
        enum:
        - HEADER
        - LINE
        example: LINE
        description: Whether this charge originated from a header-level PO condition (HEADER) or a line-level PO condition (LINE). Used to match with PO conditions
      condition_type:
        type: string
        example: FRA1
        description: The condition type code from the PO (e.g., FRA1 for freight, TAX1 for tax). Used to match with PO conditions
      condition_category:
        type: string
        enum:
        - PURCHASE_ORDER_CONDITION_CATEGORY_UNSPECIFIED
        - TAX_JUR_CODE_TRIGGER
        - TAX_EXEMPTION_LICENSE_VIA_CONDITIONS
        - TOTAL_CHARGES_IS_OIL
        - CHARGES_CONDITION_RECORDS_IS_OIL
        - TAX_JURISDICTION_LEVEL_1_WITH_LICENSE
        - TAX_JURISDICTION_LEVEL_2
        - TAX_JURISDICTION_LEVEL_3
        - TAX_JURISDICTION_LEVEL_4
        - CUSTOMER_RESERVE_5
        - CUSTOMER_RESERVE_6
        - CUSTOMER_RESERVE_7
        - CUSTOMER_RESERVE_8
        - CUSTOMER_RESERVE_9
        - PACKAGING
        - DELIVERY_COSTS
        - INSURANCE
        - CONDITION_TAX
        - CASH_DISCOUNT
        - CONDITION_FREIGHT
        - INTERNAL_PRICE
        - BASIC_PRICE
        - PRICE_FOR_INTERCOMPANY_BILLING
        - CUSTOMER_EXPECTED_PRICE
        - BASE_AMOUNT_EXCLUDING_TAX
        - GENERALLY_NEW_WHEN_COPYING
        - SALES_TAX_WITH_LICENSE_CHECKING
        - INPUT_TAX_NOT_DEDUCTIBLE
        - VARIANTS
        - BASE_AMOUNT_INCLUDING_TAX
        - COSTING
        - INVOICE_LIST_CONDITION
        - STANDARD_COST
        - MOVING_COST
        - DISCOUNT_SURCHARGE_FOR_PRECIOUS_METALS
        - PRICE_COMPONENT
        - EXPECTED_SALES_PRICE_INCLUDING_TAX
        - CUSTOMER_RESERVE_X
        - CUSTOMER_RESERVE_Y
        - CUSTOMER_RESERVE_Z
        - RESERVED_FIXED_EXTRA_PAY
        - TRANSFER_PRICE_FOR_GROUP_VALUATION
        - TRANSFER_PRICE_FOR_PROFIT_CENTERS
        - CONFIRMED_PURCHASE_NET_PRICE
        - DOWN_PAYMENT_REQUEST
        - FREE_GOODS_INCLUSIVE
        - CONDITION_PAYMENT
        - PROFIT_CENTER_COST
        - SHIP_AND_DEBIT_1_IBU_HITEC
        - SHIP_AND_DEBIT_2_IBU_HITEC
        - TP_ILV_BASE_TARIF_COVERS_COSTS
        - SSR_DISCOUNT_IS_OIL
        - PROFIT_CENTER_INTERNAL_PRICE_ROUTE
        - AFS_SEASON_DETERMINATION
        - SSR_PARTNER_COMMISSION_IS_OIL
        - AFS_VALUE_ADDED_SERVICES
        example: CONDITION_FREIGHT
        description: The category of the condition
      condition_supplier_id:
        type: string
        example: CARRIER_001
        description: '[Deprecated] Use charge_vendor_id instead. The supplier/vendor ID for this condition'
        deprecated: true
      charge_vendor_id:
        type: string
        example: CARRIER_A
        description: The actual vendor/supplier ID from the invoice for this charge
      charge_vendor_name:
        type: string
        example: DHL Express
        description: The vendor/supplier name for this charge
  payment_type:
    type: string
    enum:
    - ACH
    - DOMESTIC_WIRE
    - SEPA_CREDIT_TRANSFER
    - INTERNATIONAL_WIRE_SWIFT
    - BACS
    - BECS
    - CHECK_PAPER
    - REAL_TIME_PAYMENTS
    - VIRTUAL_CARD
  invoice-get-json-schema:
    type: object
    required:
    - invoice_id
    - invoice_number
    - supplier_id
    - invoice_date
    - payment_term
    - total_amount
    - entity_id
    properties:
      total_amount:
        required:
        - amount
        - currency
        type: object
        properties:
          amount:
            type: number
          currency:
            type: string
      invoice_id:
        type: string
      invoice_status:
        type: string
      entity_id:
        type: string
      entity_name:
        type: string
      purchase_order_numbers:
        type: array
        example:
        - 12321XP
        items:
          type: string
      site_id:
        type: string
      invoice_number:
        type: string
      invoice_date:
        allOf:
        - $ref: '#/definitions/date-time'
      invoice_type:
        type: string
        enum:
        - INVOICE
        - CREDIT_NOTE
        - DEBIT_NOTE
        - PROFORMA
        - TAX_ONLY
        - DOWN_PAYMENT
        - MPREQ
      original_invoice_id:
        type: string
      original_invoice_date:
        allOf:
        - $ref: '#/definitions/date-time'
      original_invoice_number:
        type: string
      payment_term_id:
        type: string
        description: This value should be unique in the customer’s ERP system to distinguish payment terms
      default_tax_option:
        type: string
        example: Calculate
      tax_applicability_id:
        type: string
        example: 2A3B
      remit_to_bank_info:
        type: object
        properties:
          bank_acct_last4:
            type: string
          routing_number_last4:
            type: string
          bank_account_name:
            type: string
          bank_account_type:
            type: string
      requester:
        type: string
        example: pos
      requester_id:
        type: string
        example: SX123
      requester_email_address:
        type: string
        example: pos@appzen.ai
      product_category:
        type: string
        example: software
      documents:
        description: Invoice attachment document
        type: array
        items:
          type: object
          properties:
            uuid:
              example: 6586942e-ff4d-454c-a83f-3a6b9a021c3b
              type: string
            name:
              example: invoice_from_supplier123243
              type: string
            mime_type:
              example: pdf
              type: string
            image_url:
              type: string
              example: https://download-link.appzen.com/Staged_Documents/0102/6586942e-ff4d-454c-a83f-3a6b9a021c3b/AEMB7W..<very-long-url>
            link_expires_after:
              allOf:
              - $ref: '#/definitions/date-time'
      supporting_documents:
        description: All other supporting documents for an invoice
        type: array
        items:
          type: object
          properties:
            uuid:
              type: string
            name:
              type: string
            mime_type:
              type: string
            image_url:
              type: string
            link_expires_after:
              allOf:
              - $ref: '#/definitions/date-time'
        example:
        - uuid: 7586946e-ff4d-9984-f8af-1a9b9a021c3d
          name: supplier_notes.txt
          mime_type: text/plain
          image_url: https://download-link.appzen.com/Staged_Documents/0102/7586946e-ff4d-9984-f8af-1a9b9a021c3d/AEMB7W..<very-long-url>
          link_expires_after: '2024-03-01T11:01:00Z'
        - uuid: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
          name: sop.doc
          mime_type: application/msword
          image_url: https://download-link.appzen.com/Staged_Documents/0102/5fc03087-d265-11e7-b8c6-83e29cd24f4c/AEMB7W..<very-long-url>
          link_expires_after: '2024-03-01T11:01:00Z'
      payments:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/payment'
      payment_notes:
        type: array
        items:
          type: string
        example:
        - First payment on 01/2023
        - Second overdue
      payment_status:
        type: string
        example: Paid half
      memo:
        type: string
        example: apply towards expenses
      shipping_handling_amount:
        allOf:
        - $ref: '#/definitions/amount'
      miscellaneous_charges:
        allOf:
        - $ref: '#/definitions/amount'
      submission_date:
        allOf:
        - $ref: '#/definitions/date-time'
      submitter:
        type: string
      supplier_name:
        type: string
      supplier_number:
        type: string
      supplier_id:
        type: string
      is_one_time_supplier:
        type: boolean
        default: false
        description: 'Stamped by the platform when the resolved supplier master record has

          `supplier_core.is_one_time = true` AND the invoice is not PO-backed.

          Distinct from `supplier_core.is_one_time`: that flag lives on the

          supplier master, this flag travels with the invoice payload and is

          what downstream consumers (validation, ERP export, automation rules,

          reporting) branch on. Read-only on inbound payloads.

          '
        example: false
      tax_amount:
        allOf:
        - $ref: '#/definitions/amount'
      vat_amount:
        allOf:
        - $ref: '#/definitions/amount'
      vat_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/vat-breakdown-item'
          - description: The break down of vat amount for the invoice
      appzen_vat_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/appzen-vat-breakdown-item'
          - description: Appzen break down of vat amount for the invoice
      vat_registration_numbers:
        type: array
        items:
          type: string
      total_amount_excluding_vat:
        allOf:
        - $ref: '#/definitions/amount'
      supplier_address:
        type: object
        properties:
          address_type:
            type: string
            enum:
            - REMIT_TO
            - BILL_TO
            - SHIP_TO
            - OFFICE
            - SUPPLIER_ADDRESS
            - CUSTOMER_ADDRESS
            - NONE_ADDRESS_TYPE
          address:
            allOf:
            - $ref: '#/definitions/addressCore'
        example:
          address_type: SHIP_TO
          address:
            address_line1: APPY LABS INC
            address_line2: 'ATTN: SHIPPING DESK'
            city: PUNE
            state: MAHARASHTRA
            zip: '411004'
            country: INDIA
      billing_address:
        type: object
        properties:
          address_type:
            type: string
            enum:
            - REMIT_TO
            - BILL_TO
            - SHIP_TO
            - OFFICE
            - SUPPLIER_ADDRESS
            - CUSTOMER_ADDRESS
            - NONE_ADDRESS_TYPE
          address:
            allOf:
            - $ref: '#/definitions/addressCore'
        example:
          address_type: BILL_TO
          address:
            address_line1: BILL COMPANY
            address_line2: 'ATTN: ACCOUNTS PAYABLE'
            address_line3: PO BOX ABC
            city: PHOENIX
            state: AZ
            zip: '94016'
            country: US
      shipping_address:
        type: object
        properties:
          address_type:
            type: string
            enum:
            - REMIT_TO
            - BILL_TO
            - SHIP_TO
            - OFFICE
            - SUPPLIER_ADDRESS
            - CUSTOMER_ADDRESS
            - NONE_ADDRESS_TYPE
          address:
            allOf:
            - $ref: '#/definitions/addressCore'
        example:
          address_type: SHIP_TO
          address:
            address_line1: APPY LABS INC
            address_line2: 'ATTN: SHIPPING DESK'
            city: PUNE
            state: MAHARASHTRA
            zip: '411004'
            country: INDIA
      remit_to_address:
        type: object
        properties:
          address_type:
            type: string
            enum:
            - REMIT_TO
            - BILL_TO
            - SHIP_TO
            - OFFICE
            - SUPPLIER_ADDRESS
            - CUSTOMER_ADDRESS
            - NONE_ADDRESS_TYPE
          address:
            allOf:
            - $ref: '#/definitions/addressCore'
        example:
          address_type: REMIT_TO
          address:
            address_line1: ABC COMPANY
            address_line2: 'ATTN: ACCOUNTS RECEIVABLE'
            address_line3: PO BOX 3212
            city: SAN JOSE
            state: CA
            zip: '95016'
            country: US
      other_addresses:
        allOf:
        - $ref: '#/definitions/abridgedAddresses'
      gl_code:
        type: string
      segments:
        type: array
        items:
          type: object
          $ref: '#/definitions/invoice-account-segment'
      invoice_description:
        type: string
      payment_date:
        allOf:
        - $ref: '#/definitions/date-time'
      payment_type_override:
        type: string
        example: CASH
      accounting_date_override:
        allOf:
        - $ref: '#/definitions/date-time'
      invoice_lines:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/invoice-line'
      custom_json:
        allOf:
        - $ref: '#/definitions/invoice-header-custom-json'
      custom_json_object:
        allOf:
        - $ref: '#/definitions/custom_json_object'
      total_wht_amount:
        allOf:
        - $ref: '#/definitions/amount'
      wht_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/withholding-tax'
      header_discounts:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/discount'
        description: List of discounts applied at invoice header level
      total_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Total discount amount for the invoice
      header_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Header level discount amount
      sub_total_after_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Subtotal after applying header discounts
      payment_type:
        allOf:
        - $ref: '#/definitions/payment_type'
        example: ACH
      iban:
        type: string
        example: GB29NWBK60161331926819
      bank_account_number:
        type: string
        example: '1234567890'
      part_bank_key:
        type: string
        description: Unique identifier for the bank account
        example: BANK001
  invoice-json-schema:
    type: object
    required:
    - invoice_id
    - invoice_number
    - supplier_id
    - invoice_date
    - payment_term
    - total_amount
    - entity_id
    properties:
      total_amount:
        required:
        - amount
        - currency
        type: object
        properties:
          amount:
            type: number
          currency:
            type: string
      invoice_id:
        type: string
      invoice_status:
        type: string
      entity_id:
        type: string
      entity_name:
        type: string
      purchase_order_number:
        type: string
        example: 12321XP
      purchase_order_numbers:
        type: array
        example:
        - ABCD
        - PQRS
        items:
          type: string
      po_policy:
        allOf:
        - $ref: '#/definitions/po_policy'
      site_id:
        type: string
      invoice_number:
        type: string
      invoice_date:
        allOf:
        - $ref: '#/definitions/date-time'
      invoice_type:
        type: string
        enum:
        - INVOICE
        - CREDIT_NOTE
        - DEBIT_NOTE
        - PROFORMA
        - TAX_ONLY
        - DOWN_PAYMENT
        - MPREQ
      original_invoice_id:
        type: string
      original_invoice_date:
        allOf:
        - $ref: '#/definitions/date-time'
      original_invoice_number:
        type: string
      payment_term_id:
        type: string
        description: This value should be unique in the customer’s ERP system to distinguish payment terms
      default_tax_option:
        type: string
        example: Calculate
      tax_applicability_id:
        type: string
        example: 2A3B
      remit_to_bank_info:
        type: object
        properties:
          bank_acct_last4:
            type: string
          routing_number_last4:
            type: string
          bank_account_name:
            type: string
          bank_account_type:
            type: string
      requestor:
        description: deprecated -- please use 'requester' instead
        type: string
        example: pos
      requester:
        type: string
        example: pos
      requestor_id:
        description: deprecated -- please use 'requester_id' instead
        type: string
        example: SX123
      requester_id:
        type: string
        example: SX123
      requester_email_address:
        type: string
        example: pos_appzen.ai
      product_category:
        type: string
        example: software
      documents:
        description: '''uuid'' corresponds to previously created/uploaded document using generate-upload-url action.<br> ''name'' is optional and can be used to specify a (file) name <br> Should be used for specifying single invoice attachment. All supporting documents for <br> invoice should be stored in supporting_documents section'
        type: array
        items:
          type: object
          properties:
            uuid:
              example: 6586942e-ff4d-454c-a83f-3a6b9a021c3b
              type: string
            name:
              example: invoice_from_supplier123243.pdf
              type: string
      supporting_documents:
        description: '''uuid'' corresponds to previously created/uploaded document using generate-upload-url action.<br> ''name'' is optional and can be used to specify a (file) name <br> All supporting documents for an invoice should be stored here'
        type: array
        items:
          type: object
          properties:
            uuid:
              type: string
            name:
              type: string
        example:
        - uuid: 7586946e-ff4d-9984-f8af-1a9b9a021c3d
          name: supplier_notes.txt
        - uuid: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
          name: sop.doc
      shipping_handling_amount:
        allOf:
        - $ref: '#/definitions/amount'
      miscellaneous_charges:
        allOf:
        - $ref: '#/definitions/amount'
      submission_date:
        allOf:
        - $ref: '#/definitions/date-time'
      submitter:
        type: string
      supplier_name:
        type: string
      supplier_number:
        type: string
      supplier_id:
        type: string
      is_one_time_supplier:
        type: boolean
        default: false
        description: 'Stamped by the platform when the resolved supplier master record has

          `supplier_core.is_one_time = true` AND the invoice is not PO-backed.

          Distinct from `supplier_core.is_one_time`: that flag lives on the

          supplier master, this flag travels with the invoice payload and is

          what downstream consumers (validation, ERP export, automation rules,

          reporting) branch on. Read-only on inbound payloads.

          '
        example: false
      tax_amount:
        allOf:
        - $ref: '#/definitions/amount'
      vat_amount:
        allOf:
        - $ref: '#/definitions/amount'
      vat_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/vat-breakdown-item'
          - description: The break down of vat amount for the invoice
      appzen_vat_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/appzen-vat-breakdown-item'
          - description: Appzen break down of vat amount for the invoice
      vat_registration_numbers:
        type: array
        items:
          type: string
      total_amount_excluding_vat:
        allOf:
        - $ref: '#/definitions/amount'
      payment_due_date:
        allOf:
        - $ref: '#/definitions/date-time'
      payments:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/payment'
      payment_notes:
        type: array
        items:
          type: string
        example:
        - First payment on 01/2023
        - Second overdue
      payment_status:
        type: string
        example: Paid half
      memo:
        type: string
        example: apply towards expenses
      supplier_address:
        allOf:
        - $ref: '#/definitions/address'
        example:
          address_type: SHIP_TO
          address:
            address_line1: APPY LABS INC
            address_line2: 'ATTN: SHIPPING DESK'
            city: PUNE
            state: MAHARASHTRA
            zip: '411004'
            country: INDIA
          site_name: store_sales
          site_id: 4dsvc3sd
      billing_address:
        allOf:
        - $ref: '#/definitions/address'
        example:
          address_type: BILL_TO
          address:
            address_line1: BILL COMPANY
            address_line2: 'ATTN: ACCOUNTS PAYABLE'
            address_line3: PO BOX ABC
            city: PHOENIX
            state: AZ
            zip: '94016'
            country: US
          site_name: store_sales
          site_id: 4dsvc3sd
      shipping_address:
        allOf:
        - $ref: '#/definitions/address'
        example:
          address_type: SHIP_TO
          address:
            address_line1: TEST COMPANY
            address_line2: 'ATTN: ACCOUNTS PAYABLE'
            address_line3: PO BOX 123
            city: SAN FRANCISCO
            state: CA
            zip: '94016'
            country: US
          site_id: '583830'
      remit_to_address:
        allOf:
        - $ref: '#/definitions/address'
        example:
          address_type: REMIT_TO
          address:
            address_line1: ABC COMPANY
            address_line2: 'ATTN: ACCOUNTS RECEIVABLE'
            address_line3: PO BOX 3212
            city: SAN JOSE
            state: CA
            zip: '95016'
            country: US
          site_name: remits_ac
          site_id: XDCSWS
          custom_json:
            remit_id: abcd
          is_active: false
          valid_start_date: '2024-03-01T11:01:00Z'
          valid_end_date: '2024-03-01T11:01:00Z'
      other_addresses:
        allOf:
        - $ref: '#/definitions/addresses'
      gl_code:
        type: string
      segments:
        type: array
        items:
          type: object
          $ref: '#/definitions/invoice-account-segment'
      invoice_description:
        type: string
      payment_date:
        allOf:
        - $ref: '#/definitions/date-time'
      payment_type_override:
        type: string
        example: CASH
      accounting_date_override:
        allOf:
        - $ref: '#/definitions/date-time'
      invoice_lines:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/invoice-line'
      custom_json:
        allOf:
        - $ref: '#/definitions/invoice-header-custom-json'
      custom_json_object:
        allOf:
        - $ref: '#/definitions/custom_json_object'
      options:
        type: object
        properties:
          strict_invoice_number:
            description: whether invoice_number can be used for looking up invoice. Valid values "0" or "1"
            type: string
            default: '0'
      total_wht_amount:
        allOf:
        - $ref: '#/definitions/amount'
      wht_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/withholding-tax'
      header_discounts:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/discount'
        description: List of discounts applied at invoice header level
      total_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Total discount amount for the invoice
      header_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Header level discount amount
      sub_total_after_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Subtotal after applying header discounts
      payment_type:
        allOf:
        - $ref: '#/definitions/payment_type'
        example: ACH
      iban:
        type: string
        example: GB29NWBK60161331926819
      bank_account_number:
        type: string
        example: '1234567890'
      part_bank_key:
        type: string
        description: Unique identifier for the bank account
        example: BANK001
  invoice-line:
    type: object
    required:
    - total_amount
    - line_number
    - unit_price
    - line_description
    - quantity
    properties:
      line_number:
        type: number
      line_description:
        type: string
      quantity:
        type: number
      unit_price:
        type: object
        required:
        - amount
        - currency
        properties:
          amount:
            type: number
          currency:
            type: string
      total_amount:
        type: object
        required:
        - amount
        - currency
        properties:
          amount:
            type: number
          currency:
            type: string
      tax_amount:
        type: object
        required:
        - amount
        - currency
        properties:
          amount:
            type: number
          currency:
            type: string
      tax_applicability_id:
        type: string
        example: 2A3BL
      memo:
        type: string
        example: Partially payed on 12/03
      amortization_schedule:
        type: string
        example: monthly
      price_per_unit:
        type: number
        example: 2.55
      line_vat_amount:
        allOf:
        - $ref: '#/definitions/amount'
      line_vat_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/vat-breakdown-item'
          - description: The break down of vat amount for the invoice line
      appzen_line_vat_breakdown:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/appzen-vat-breakdown-item'
          - description: Appzen break down of vat amount for the invoice line
      purchase_order_number:
        type: string
      purchase_order_line_number:
        type: string
      po_match_type:
        allOf:
        - $ref: '#/definitions/po_policy_match_type'
      line_item_code:
        type: string
      unit_of_measure:
        type: string
      model_number:
        type: string
      currency:
        type: string
      gl_code:
        type: string
      segments:
        type: array
        items:
          type: object
          $ref: '#/definitions/invoice-account-segment'
      has_line_allocations:
        type: boolean
      po_backed_line:
        type: boolean
      line_allocations:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/invoice-line-allocation'
      custom_json:
        allOf:
        - $ref: '

# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/appzen/refs/heads/main/openapi/appzen-invoices-api-openapi.yml