AppZen Externally Processed Invoices API

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

Operations 2

POST /invoice/externally-processed Creates an externally processed invoice in Appzen with optional validation checks
POST /invoice/externally-processed-for-audit Creates an externally processed invoice in Appzen with validation checks

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/appzen-externally-processed-invoices-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

appzen-externally-processed-invoices-api-openapi.yml Raw ↑
openapi: 3.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
servers:
- url: https://<env>.appzen.com/dictionary-data-services
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: '#/components/parameters/invoice-json-schema'
      - in: header
        name: historical
        required: false
        description: Flag to indicate whether the invoice is historical or not
        schema:
          type: boolean
          default: false
      responses:
        200:
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uuid-updated'
        201:
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uuid'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-400-error-response'
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-401-error-response'
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-403-error-response'
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-404-error-response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/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: '#/components/parameters/invoice-json-schema'
      responses:
        200:
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uuid-updated'
        201:
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/uuid'
        400:
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-400-error-response'
        401:
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-401-error-response'
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-403-error-response'
        404:
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-404-error-response'
        500:
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/http-500-error-response'
components:
  schemas:
    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
    invoice-goods-receipt:
      type: object
      properties:
        receipt_id:
          type: string
          example: 123AB
          description: The Receipt ID from source system
        amount:
          allOf:
          - $ref: '#/components/schemas/amount'
          - description: Amount allocated to invoice from this receipt
        quantity:
          type: integer
          format: int32
          example: 10
          description: Quantity allocated to invoice from this receipt
    invoice-header-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; vendor_einvoice

        appzen&#58; exchange_rate

        appzen&#58; nota_fiscal_elec_num

        appzen&#58; nota_fiscal_type

        appzen&#58; nota_fiscal_material

        appzen&#58; nota_fiscal_service

        appzen&#58; withholding

        appzen&#58; invoice_category

        appzen&#58; business_place

        appzen&#58; section_code

        appzen&#58; gst_partner

        appzen&#58; place_of_supply

        appzen&#58; invoice_reference_no

        appzen&#58; payment_references

        appzen&#58; qr_reference_code

        appzen&#58; qr_bank

        appzen&#58; qr_unstructured_info

        appzen&#58; qr_structured_info

        appzen&#58; enasarco

        appzen&#58; partner_bank

        appzen&#58; assignment

        appzen&#58; sweden_ocr

        appzen&#58; norway_kid

        appzen&#58; denmark_fik

        appzen&#58; project

        appzen&#58; expenditure_org

        appzen&#58; expenditure_type

        appzen&#58; task

        appzen&#58; work_breakdown_structure

        appzen&#58; latam_vendor_vat_id

        appzen&#58; poland_ksef_id

        appzen&#58; israel_allocation_number

        appzen&#58; buyer_endpoint_id

        appzen&#58; buyer_reference

        appzen&#58; pl_ksef_number

        appzen&#58; pl_ksef_schema_version

        appzen&#58; pl_corrected_invoice_issue_date

        appzen&#58; pl_corrected_invoice_ksef_number

        appzen&#58; pl_corrected_invoice_number

        appzen&#58; pl_reason_for_correction

        appzen&#58; pl_type_of_correction

        appzen&#58; fr_supplier_siren

        appzen&#58; fr_supplier_siret

        appzen&#58; fr_customer_siren

        appzen&#58; fr_customer_siret

        appzen&#58; fr_invoice_format

        appzen&#58; fr_invoice_lifecycle_status

        appzen&#58; it_sdi_codice_destinatario

        appzen&#58; it_sdi_formato_trasmissione

        appzen&#58; it_sdi_id_trasmittente_code

        appzen&#58; it_sdi_id_trasmittente_country

        appzen&#58; it_sdi_pec_destinatario

        appzen&#58; it_sdi_progressivo_invio

        appzen&#58; es_dir3_oficina_contable

        appzen&#58; es_dir3_organo_gestor

        appzen&#58; es_dir3_unidad_tramitadora

        appzen&#58; es_facturae_version

        appzen&#58; de_einvoice_format

        appzen&#58; de_leitweg_id

        appzen&#58; nl_oin

        appzen&#58; nl_preferred_format

        appzen&#58; no_ehf_profile_id

        appzen&#58; no_org_number

        appzen&#58; pt_atcud

        appzen&#58; pt_qr_code_present

        appzen&#58; dk_cvr

        appzen&#58; dk_ean_gln

        appzen&#58; fi_einvoice_address

        appzen&#58; fi_business_id_y_tunnus

        appzen&#58; ie_exchange_rate

        appzen&#58; lu_exchange_rate

        appzen&#58; se_endpoint_id

        appzen&#58; hu_nav_rtir_reporting_required

        appzen&#58; bg_converted_vat_amount

        appzen&#58; be_company_number_kbo_cbe

        appzen&#58; bd_bin_or_tin

        appzen&#58; ca_gst_hst_registration

        appzen&#58; hk_business_registration_number

        appzen&#58; lk_vat_registration

        appzen&#58; mu_vat_number

        appzen&#58; ua_vat_number

        appzen&#58; us_supplier_ein

        appzen&#58; ae_tax_amount_aed

        '
      example:
        approval-code: KE-382
        category: internal-projects
        'appzen: withholding': '23.5'
    exchange-rate:
      description: Optional. If the exchange_rate is provided, then all three fields (from_currency_code, to_currency_code and conversion_rate) are required.
      example:
        from_currency_code: USD
        to_currency_code: EUR
        conversion_rate: 0.92
      required:
      - from_currency_code
      - to_currency_code
      - conversion_rate
      properties:
        conversion_rate:
          type: number
          example: 0.92
        from_currency_code:
          type: string
          example: USD
        to_currency_code:
          type: string
          example: EUR
      type: object
    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'
    payment:
      type: object
      properties:
        status:
          type: string
        type:
          type: string
          enum:
          - PAYMENT
          - DISCOUNT
          - ADJUSTMENT
          - CREDIT
          example: DISCOUNT
        date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        scheduled_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        description:
          type: string
        amount:
          allOf:
          - $ref: '#/components/schemas/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: '#/components/schemas/amount'
        requester:
          type: string
        approver:
          type: string
        exchange_rate:
          allOf:
          - $ref: '#/components/schemas/exchange-rate'
        bank_information:
          properties:
            bank_account_name:
              default: ''
              type: string
              example: ABC Bank
            bank_acct_number:
              type: string
              example: 213-29802-8674
    date-time:
      type: string
      format: date-time
      example: '2024-03-01T11:01:00Z'
      description: date should be in UTC format
    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_match_type:
      type: string
      enum:
      - PO_NONE_MATCH_TYPE
      - PO_POLICY_TWO_WAY_MATCH
      - PO_POLICY_THREE_WAY_MATCH
    custom_json_object:
      type: object
      description: Set of key value pairs, where each value is an object with two keys - name and id
      example:
        code-region:
          name: us-east
          id: region1s
        code-dept:
          name: wing-1
          id: '325'
    invoice_line_type:
      type: string
      enum:
      - NONE_LINE_TYPE
      - GOODS
      - SERVICE
      - FREIGHT
      - TAX
      - MISCELLANEOUS
    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
    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: '#/components/schemas/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: '#/components/schemas/date-time'
        valid_end_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
    payment_type:
      type: string
      enum:
      - ACH
      - DOMESTIC_WIRE
      - SEPA_CREDIT_TRANSFER
      - INTERNATIONAL_WIRE_SWIFT
      - BACS
      - BECS
      - CHECK_PAPER
      - REAL_TIME_PAYMENTS
      - VIRTUAL_CARD
    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: '#/components/schemas/amount'
        line_vat_breakdown:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/vat-breakdown-item'
            - description: The break down of vat amount for the invoice line
        appzen_line_vat_breakdown:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/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: '#/components/schemas/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: '#/components/schemas/invoice-account-segment'
        has_line_allocations:
          type: boolean
        po_backed_line:
          type: boolean
        line_allocations:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-line-allocation'
        custom_json:
          allOf:
          - $ref: '#/components/schemas/invoice-line-custom-json'
        custom_json_object:
          allOf:
          - $ref: '#/components/schemas/custom_json_object'
        service_start_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        service_end_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        amortization_start_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        amortization_end_date:
          allOf:
          - $ref: '#/components/schemas/date-time'
        amortization_schedule_details:
          type: object
          properties:
            id:
              type: integer
            name:
              type: string
        line_type:
          allOf:
          - $ref: '#/components/schemas/invoice_line_type'
        goods_receipts:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-goods-receipt'
        hsn_sac_code:
          type: string
        line_conditions:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/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: '#/components/schemas/discount'
          description: List of discounts applied at invoice line level
        line_discount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Line level discount amount
        header_discount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Header level discount amount applied to this line
        total_after_line_discount:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Total after applying line discounts
        total_after_all_discounts:
          allOf:
          - $ref: '#/components/schemas/amount'
          description: Total after applying all discounts (line and header)
    invoice-line-allocation:
      type: object
      description: Specify an allocation for an invoice line. Either amount/tax or percentage is required.
      required:
      - amount
      - tax
      - percentage
      properties:
        external_allocation_id:
          type: string
        amount:
          type: number
          example: 25.6
        tax:
          example: 2.56
          type: number
        percentage:
          type: number
          example: 35
        gl_code:
          type: string
        allocation_quantity:
          type: number
        purchase_order_number:
          type: string
        purchase_order_line_number:
          type: integer
        appzen_line_allocation_number:
          type: integer
        goods_receipts:
          type: array
          items:
            allOf:
            - $ref: '#/components/schemas/invoice-goods-receipt'
    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'
    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'
    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
    uuid-updated:
      type: object
      properties:
        uuid:
          type: string
          example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
        status:
          type: string
          example: UPDATED
    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'
    uuid:
      type: object
      properties:
        uuid:
          type: string
          example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c
        status:
          type: string
          example: CREATED
    discount:
      type: object
      properties:
        discount_base_amount:
          allOf:
          - $ref: '#/components/schemas/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: '#/components/schemas/amount'
          description: Actual discount amount in currency
    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
          example: 20.5
          exclusiveMinimum: 0
        vat_amount:
          allOf:
          - $ref: '#/components/schemas/amount'
        jurisdiction_code:
          type: string
          description: Standard tax jurisdiction code
          example: IN
    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'
    amount:
      properties:
        amount:
          example: 1.5
          type: number
        currency:
          example: USD
          type: string
      type: object
    po_policy:
      type: object
      properties:
        po_backed:
          type: boolean
        po_match_type:
          allOf:
          - $ref: '#/components/schemas/po_policy_match_type'
        receipt_type:
          allOf:
          - $ref: '#/components/schemas/po_receipt_type'
    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
    po_receipt_type:
      type: string
      enum:
      - PO
      - GOODS_RECEIPT
    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: '#/components/schemas/po_policy'
        site_id:
          type: string
        invoice_number:
          type: string
        invoice_date:
          allOf:
          - $ref: '#/components/schemas/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: '#/components/schemas/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_ema

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