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: .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 "appzen: ". They are also not subject to the maximum count limit. appzen: 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.. 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.. 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.. 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.
''name'' is optional and can be used to specify a (file) name
Should be used for specifying single invoice attachment. All supporting documents for
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.
''name'' is optional and can be used to specify a (file) name
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: '#/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 addresses: type: array items: allOf: - $ref: '#/definitions/address' 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 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' amount: properties: amount: example: 1.5 type: number currency: example: USD type: string type: object 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 uuid: type: object properties: uuid: type: string example: 5fc03087-d265-11e7-b8c6-83e29cd24f4c status: type: string example: CREATED 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' abridgedAddresses: type: array items: 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' 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' find-invoice-query-spec: properties: appzen-invoice-status: description: Audit status assigned to invoice by Appzen type: string enum: - PROCESSED - REJECTED erp-invoice-status: description: ERP invoice status type: string example: Pending Manager Review invoice-id: type: string invoice-number: type: string supplier-id: type: string from-last-appzen-update-time: description: Start Date Range value for Appzen processing date specified in UTC format allOf: - $ref: '#/definitions/date-time' to-last-appzen-update-time: description: End Date Range for Appzen processing date specified in UTC format allOf: - $ref: '#/definitions/date-time' required: - from-last-appzen-update-time - to-last-appzen-update-time 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. 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: '#/definitions/invoice-goods-receipt' 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' 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 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 "appzen: ". They are also not subject to the maximum count limit. appzen: vendor_einvoice appzen: exchange_rate appzen: nota_fiscal_elec_num appzen: nota_fiscal_type appzen: nota_fiscal_material appzen: nota_fiscal_service appzen: withholding appzen: invoice_category appzen: business_place appzen: section_code appzen: gst_partner appzen: place_of_supply appzen: invoice_reference_no appzen: payment_references appzen: qr_reference_code appzen: qr_bank appzen: qr_unstructured_info appzen: qr_structured_info appzen: enasarco appzen: partner_bank appzen: assignment appzen: sweden_ocr appzen: norway_kid appzen: denmark_fik appzen: project appzen: expenditure_org appzen: expenditure_type appzen: task appzen: work_breakdown_structure appzen: latam_vendor_vat_id appzen: poland_ksef_id appzen: israel_allocation_number appzen: buyer_endpoint_id appzen: buyer_reference appzen: pl_ksef_number appzen: pl_ksef_schema_version appzen: pl_corrected_invoice_issue_date appzen: pl_corrected_invoice_ksef_number appzen: pl_corrected_invoice_number appzen: pl_reason_for_correction appzen: pl_type_of_correction appzen: fr_supplier_siren appzen: fr_supplier_siret appzen: fr_customer_siren appzen: fr_customer_siret appzen: fr_invoice_format appzen: fr_invoice_lifecycle_status appzen: it_sdi_codice_destinatario appzen: it_sdi_formato_trasmissione appzen: it_sdi_id_trasmittente_code appzen: it_sdi_id_trasmittente_country appzen: it_sdi_pec_destinatario appzen: it_sdi_progressivo_invio appzen: es_dir3_oficina_contable appzen: es_dir3_organo_gestor appzen: es_dir3_unidad_tramitadora appzen: es_facturae_version appzen: de_einvoice_format appzen: de_leitweg_id appzen: nl_oin appzen: nl_preferred_format appzen: no_ehf_profile_id appzen: no_org_number appzen: pt_atcud appzen: pt_qr_code_present appzen: dk_cvr appzen: dk_ean_gln appzen: fi_einvoice_address appzen: fi_business_id_y_tunnus appzen: ie_exchange_rate appzen: lu_exchange_rate appzen: se_endpoint_id appzen: hu_nav_rtir_reporting_required appzen: bg_converted_vat_amount appzen: be_company_number_kbo_cbe appzen: bd_bin_or_tin appzen: ca_gst_hst_registration appzen: hk_business_registration_number appzen: lk_vat_registration appzen: mu_vat_number appzen: ua_vat_number appzen: us_supplier_ein appzen: ae_tax_amount_aed ' example: approval-code: KE-382 category: internal-projects 'appzen: withholding': '23.5' parameters: find-invoice-query-spec: in: body description: Query Criterion for locating Invoices required: true name: find-invoice-query-spec schema: $ref: '#/definitions/find-invoice-query-spec' uuid: in: path description: Globally unique identifier for an uploaded document required: true name: uuid type: string invoice-json-schema: in: body required: true name: invoice-json-schema schema: $ref: '#/definitions/invoice-json-schema' securityDefinitions: API Key Header: type: apiKey in: header name: x-api-key Customer Id Header: type: apiKey in: header name: customer-id Customer Key Header: type: apiKey in: header name: customer-key