AppZen Externally Processed Invoices API

The Externally Processed Invoices API from AppZen — 2 operation(s) for externally processed invoices.

OpenAPI Specification

appzen-externally-processed-invoices-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  title: Autonomous AP APIs Chart of Accounts Externally Processed 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: Externally Processed Invoices
paths:
  /invoice/externally-processed:
    post:
      tags:
      - Externally Processed Invoices
      summary: Creates an externally processed invoice in Appzen with optional validation checks
      description: This will create a new invoice in AppZen referred by uuid. This invoice will be processed further by AppZen for extraction and validation (optionally, based on header input). 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
      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/externally-processed-for-audit:
    post:
      tags:
      - Externally Processed Invoices
      summary: Creates an externally processed invoice in Appzen with validation checks
      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'
      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'
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
  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-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-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
  addresses:
    type: array
    items:
      allOf:
      - $ref: '#/definitions/address'
  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: '#/definitions/invoice-line-custom-json'
      custom_json_object:
        allOf:
        - $ref: '#/definitions/custom_json_object'
      service_start_date:
        allOf:
        - $ref: '#/definitions/date-time'
      service_end_date:
        allOf:
        - $ref: '#/definitions/date-time'
      amortization_start_date:
        allOf:
        - $ref: '#/definitions/date-time'
      amortization_end_date:
        allOf:
        - $ref: '#/definitions/date-time'
      amortization_schedule_details:
        type: object
        properties:
          id:
            type: integer
          name:
            type: string
      line_type:
        allOf:
        - $ref: '#/definitions/invoice_line_type'
      goods_receipts:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/invoice-goods-receipt'
      hsn_sac_code:
        type: string
      line_conditions:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/invoice-line-condition'
        description: List of PO conditions associated with this invoice line (for subsequent invoice types like freight, tax charges)
      line_discounts:
        type: array
        items:
          allOf:
          - $ref: '#/definitions/discount'
        description: List of discounts applied at invoice line level
      line_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Line level discount amount
      header_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Header level discount amount applied to this line
      total_after_line_discount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Total after applying line discounts
      total_after_all_discounts:
        allOf:
        - $ref: '#/definitions/amount'
        description: Total after applying all discounts (line and header)
  invoice_line_type:
    type: string
    enum:
    - NONE_LINE_TYPE
    - GOODS
    - SERVICE
    - FREIGHT
    - TAX
    - MISCELLANEOUS
  invoice-account-segment:
    type: object
    required:
    - code
    - name
    - segment_type
    - appzen_segment_type
    - segment_name_id
    properties:
      code:
        type: string
      name:
        type: string
      segment_type:
        type: string
      appzen_segment_type:
        type: string
        description: Value represents how appzen understands the customer segment type. OTHER_SEGMENT should be used to map any customer segment type that does not have correspondence with one of the named appzen segment types (e.g. ACCOUNT_SEGMENT, DEPARTMENT_SEGMENT etc). Multiple OTHER_SEGMENT mappings may be specified, if needed.
        enum:
        - OTHER_SEGMENT
        - LEGAL_ENTITY_SEGMENT
        - COMPANY_SEGMENT
        - ACCOUNT_SEGMENT
        - DEPARTMENT_SEGMENT
        - COST_CENTER_SEGMENT
        - VENDOR_SEGMENT
        - LOCATION_SEGMENT
        - USER_SEGMENT
        - CUSTOMER_SEGMENT
        - PROJECT_SEGMENT
        - SPEND_CATEGORY_SEGMENT
        - REGION_SEGMENT
        - INTERCOMPANY_SEGMENT
        example: COST_CENTER_SEGMENT
      segment_name_id:
        type: string
  amount:
    properties:
      amount:
        example: 1.5
        type: number
      currency:
        example: USD
        type: string
    type: object
  addressCore:
    required:
    - address_line1
    - country
    - zip
    properties:
      address_line1:
        default: ''
        title: The address_line1 schema
        type: string
        example: 12345 MARKET STREET
      address_line2:
        default: ''
        title: The address_line2 schema
        type: string
        example: SUITE 1234
      address_line3:
        default: ''
        title: The address_line3 schema
        type: string
        example: ''
      area_code:
        default: ''
        title: The area_code schema
        type: string
        example: '415'
      city:
        default: ''
        title: The city schema
        type: string
        example: SAN FRANCISCO
      company:
        default: ''
        title: The company schema
        type: string
        example: Preferred Supplier Inc.
      contact:
        default: ''
        title: The contact schema
        type: string
        example: Jane Doe
      country:
        default: ''
        title: The country schema
        type: string
        example: US
      country_iso3:
        default: ''
        title: The country_iso3 schema
        type: string
        example: USA
      email:
        default: ''
        title: The email schema
        type: string
        example: janedoe@supplier.com
      phone:
        default: ''
        title: The phone schema
        type: string
        example: '4042965282'
      province:
        default: ''
        title: The province schema
        type: string
        example: ''
      state:
        default: ''
        title: The state schema
        type: string
        example: CA
      zip:
        default: ''
        title: The zip schema
        type: string
        example: '94016'
  uuid:
    type: object
    properties:
      uuid:
        type: string
        example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
      status:
        type: string
        example: CREATED
  invoice-goods-receipt:
    type: object
    properties:
      receipt_id:
        type: string
        example: 123AB
        description: The Receipt ID from source system
      amount:
        allOf:
        - $ref: '#/definitions/amount'
        - description: Amount allocated to invoice from this receipt
      quantity:
        type: integer
        format: int32
        example: 10
        description: Quantity allocated to invoice from this receipt
  po_receipt_type:
    type: string
    enum:
    - PO
    - GOODS_RECEIPT
  po_policy_match_type:
    type: string
    enum:
    - PO_NONE_MATCH_TYPE
    - PO_POLICY_TWO_WAY_MATCH
    - PO_POLICY_THREE_WAY_MATCH
  address:
    type: object
    required:
    - address_type
    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'
      site_id:
        type: string
        example: '913838'
      site_name:
        type: string
        example: California HQ
      custom_json:
        type: object
        properties:
          key1:
            type: string
            example: value1
      is_active:
        type: boolean
        default: true
      valid_start_date:
        allOf:
        - $ref: '#/definitions/date-time'
      valid_end_date:
        allOf:
        - $ref: '#/definitions/date-time'
  date-time:
    type: string
    format: date-time
    example: '2024-03-01T11:01:00Z'
    description: date should be in UTC format
  http-404-error-response:
    type: object
    properties:
      timestamp:
        type: string
        example: 2019-01-17T16:12:45.977+0000
      status:
        type: string
        example: 404
      error:
        type: string
        example: Not Found
      message:
        type: string
        example: 'Error code : 17e3338d - The resource you specified cannot be not found'
  http-400-error-response:
    type: object
    properties:
      timestamp:
        type: string
        example: 2019-01-17T16:12:45.977+0000
      status:
        type: string
        example: 400
      error:
        type: string
        example: Bad Request
      message:
        type: string
        example: 'Error code : 17e3338d - Invalid request, please fix and resend'
  appzen-vat-breakdown-item:
    type: object
    properties:
      code:
        description: A customer vat code maps to one of these predefined list of vat codes mantained by Appzen.
        type: string
        example: VAT
      rate:
        type: number
        description: rate as percentage
        minimum: 0
        exclusiveMinimum: true
        example: 12
  uuid-updated:
    type: object
    properties:
      uuid:
        type: string
        example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
      status:
        type: string
        example: UPDATED
  http-401-error-response:
    type: object
    properties:
      timestamp:
        type: string
        example: 2019-01-17T16:12:45.977+0000
      status:
        type: string
        example: 401
      error:
        type: string
        example: Unauthorized
      message:
        type: string
        example: 'Error code : 17e3338d - Unable to authenticate credentials'
  po_policy:
    type: object
    properties:
      po_backed:
        type: boolean
      po_match_type:
        allOf:
        - $ref: '#/definitions/po_policy_match_type'
      receipt_type:
        allOf:
        - $ref: '#/definitions/po_receipt_type'
  payment:
    type: object
    properties:
      status:
        type: string
      type:
        type: string
        enum:
        - PAYMENT
        - DISCOUNT
        - ADJUSTMENT
        - CREDIT
        example: DISCOUNT
      date:
        allOf:
        - $ref: '#/definitions/date-time'
      scheduled_date:
        allOf:
        - $ref: '#/definitions/date-time'
      description:
        type: string
      amount:
        allOf:
        - $ref: '#/definitions/amount'
      payment_id:
        type: string
      payment_method:
        type: string
      payment_reference_number:
        type: string
      payment_block:
        type: string
      check_number:
        type: string
      remittance_notes:
        type: string
      payment_batch_id:
        type: string
      approval_status:
        type: string
      payment_instructions:
        type: string
      payment_medium:
        type: string
      transaction_fees:
        allOf:
        - $ref: '#/definitions/amount'
      requester:
        type: string
      approver:
        type: string
      exchange_rate:
        allOf:
        - $ref: '#/definitions/exchange-rate'
      bank_information:
        properties:
          bank_account_name:
            default: ''
            type: string
            example: ABC Bank
          bank_acct_number:
            type: string
            example: 213-29802-8674
  http-500-error-response:
    type: object
    properties:
      timestamp:
        type: string
        example: 2019-01-17T16:12:45.977+0000
      status:
        type: string
        example: 500
      error:
        type: string
        example: Internal Server Error
      message:
        type: string
        example: 'Error code : 17e3338d - Unable to process your request at this moment, please try again later'
  http-403-error-response:
    type: object
    properties:
      timestamp:
        type: string
        example: 2019-01-17T16:12:45.977+0000
      status:
        type: string
        example: 403
      error:
        type: string
        example: Forbidden
      message:
        type: string
        example: 'Error code : 17e3338d - You do not have permission to access this resource'
  vat-breakdown-item:
    type: object
    properties:
      vat_id:
        type: string
        description: External vat_id
        example: gst_1232ext
      code:
        type: string
        example: GST
      rate:
        type: number
        description: rate as percentage
        minimum: 0
        exclusiveMinimum: true
        example: 20.5
      vat_amount:
        allOf:
        - $ref: '#/definitions/amount'
      jurisdiction_code:
        type: string
        description: Standard tax jurisdiction code
        example: IN
  discount:
    type: object
    properties:
      discount_base_amount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Base amount on which the discount is calculated
      discount_percentage:
        type: number
        description: Discount percentage applied
        example: 10.5
      discount_amount:
        allOf:
        - $ref: '#/definitions/amount'
        description: Actual discount amount in currency
  invoice-line-allocation:
    type: object
    description: Specify an allocation for an invoice line. Either amount/tax or percentage is required.
   

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