Master and Transactional Data APIs

Getting Started with AppZen Autonomous AP

AppZen’s Autonomous AP provides a considerable automation to manual invoice entry with multiple back office systems or ERPs. AppZen’s Autonomous AP product provides features such as Touchless Extraction, Automated Taxonomy, Automated Accounting, Real time Spend Audit in the product. 

AppZen’s Autonomous AP provides a platform for customers to build intelligent automation by using the AI first approach.  As evident from the diagram the payable workflow begins with an email from the supplier to AppZen’s email account for processing. The first step is extraction which uses computer vision and semantic understanding to extract the invoice header and lines from the PDF.

Master Data

Payment Terms

Chart of Accounts

Entities

Suppliers

Purchase Orders

Transactional Data

Documents

Invoices

Processed Invoices

Invoice Status Sync

Invoice Audit Results

 

Payment Terms

POST  /payment-term  

Creates a new payment term in AppZen. Returns a uuid for this payment term. When there already exists a payment term (with the same payment_term_id), then the operation is an update (in this case, the status in the response will be updated).

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

name

String

Yes

The name of the payment term in the ERP system. Example 'Net45'

id

String

Yes

The internal unique ID from the source ERP system. For example: Net45 payment term is uniquely identified by ERP system as 'N45_1233'

active

Boolean

 

To check if the payment term is active in the ERP system.

True/False

code

String

 

It refers to the AppZen Code. That code cane be : NONE_PAYMENT_TERM_CODE, NET, EOM, FOM, PIA, CWO, DOR

Else populate the ID

date

String

 

The creation date of the payment term.

Date should be in UTC format

discounts

N/A

 

This is root element to hold discount fields

discount_days

Integer

 

The number of days in which the payment will actually qualify for a discount. For Example: 2%Net10, it will have value as10 in this field

discount_percent

Integer

 

It shows the percent value of the discount. For Example 2% Net10 payment term will have value as 2 in this field

discount_amount

Integer

 

It tells if this payment qualifies for a discount by amount

num_days

Integer

 

The number of days for the term. For example Net45 will have 45 as the value of this field

num_grace_days

Integer

 

The total number of grace days available for the payment

custom_json

N/A

 

If ERP system want to send any extra information, it can be sent under custom json

 

GET  /payment-term/{uuid}

Returns the details of a payment-term by uuid

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

Link to the Swagger API site 

 

- Back to the Top -

 

Chart of Accounts

POST  /chart-of-accounts

Creates a new chart of account segments in AppZen and returns a uuid that uniquely identifies it. When there already exists a chart of the account segment (segment_code), then the operation is an update (the status would be UPDATED in this case).

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

appzen_segment_type

String

Yes

This value actually represents how appzen understands the customer segment type.

OTHER_SEGMENT is 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.

segment_type

String

Yes

It is the name of the accounting segment (company/Dept/Account) to determine the segment type in AppZen

segment_name

String

Yes

This is the name of the segment. For Ex: USA

segment_code

String

Yes

This is the code value of segment in customer ERP

custom_json

String

 

If ERP system want to send any extra information, it can be sent under custom json

custom_key1

String

Yes

Values sent under Custom JSON

custom_key2

String

Yes

Values sent under Custom JSON

 

 GET  /chart-of-accounts

Returns the details of a chart of account segment by uuid

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

Link to the Swagger API site 

 

- Back to the Top -

 

Entities

POST  /entity

Creates a new entity in AppZen. Returns a uuid for this entity. When there already exists an entity (with the same uuid), then the operation is an update (in this case, the status in the response will be updated).

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

entity_id

String

Yes

An unique ID distinguishing entities from other entities. Basically internal ID of the organization in the source ERP

entity_name

String

Yes

The valid entity names used in the ERP systems like Name of the Company / Operating Unit / Department/ CostCenter/ Location within the Source ERP

parent_entity_id

String

 

The valid parent entity id present in the ERP system. For example: If there is a hierarchy of organizations and if a parent for this exists, the Internal Reference Id of that parent organization in the source.

*Required if not a top organization

entity_type

String

Yes

The type of entity defined within the customer's ERP system

appzen_entity_type

String

Yes

A value for AppZen to understand an entity like Company / Operating Unit / Legal Unit, where actually the invoices can be made to.

entity_alias_name

   

if entity has some other name it should be passed here

addresses

N/A

Yes

This the root element for the addresses

address_type

String

Yes

This field tells about the type of address

address

String

 

This is the root element for an address

address_line1

String

Yes

Line 1 of the address of the entity

address_line2

String

 

Line 2 of the address of the entity

address_line3

String

 

Line 3 of the address of the entity

area_code

String

 

The area code of the area in address of entity

city

String

 

City in the address of entity. For Ex: San Francisco

company

String

 

Name of the Company of the entity

contact

String

 

Name of the contact person for the entity

country

String

 

Country name in the address of entity. For Ex: US

country_iso3

String

 

Country name in the address in iso3 format. For Ex: USS

email

String

 

Email Id of the contact person of the entity

phone

String

 

Phone number of the contact person of the entity

province

String

 

The name of the Province if it exists in the address

state

String

 

The name of the state if it exists in the address

zip

String

 

The Zip code of the address

site_id

String

 

This is the address reference Id in source ERP of the address of the Company / Operating Unit / Legal Entity

site_name

String

 

One entity can have multiple sites so those names should come here

custom_json

String

 

If ERP system want to send any extra information, it can be sent under custom json

key1

String

 

Values sent under Custom JSON

currency

String

Yes

This is the default currency associated to this entity. It is the operating currency of the operating unit / legal entity / company

coa_structure

N/A

 

The order of Segment and Segments like Entity, Department, Line of Business, Future1

appzen_coa_structure

N/A

 

The order of Segment and Segments in AppZen like Legal_Entity_Segment, Department_Segment, Other_Segment

is_active

Boolean

 

To check if the entity is active in the ERP system. True/False. Default value to ingest = true

valid_start_date

String

 

The valid start date of an entity

date should be in UTC format

valid_end_date

String

 

The valid end date of an entity

date should be in UTC format

created_date

String

 

The date when the entity was created.

date should be in UTC format

updated_date

String

 

The date when the entity was updated.

date should be in UTC format

payment_term_id

String

 

The value of the payment term ID associated with this entity

custom_json

N/A

 

If ERP system want to send any extra information, it can be sent under custom json like AP Email Inbox

bu_id

N/A

 

The organization ID for default Business / Operating Unit

bu_name

N/A

 

The Default Business Unit / Operating Unit for the Legal Entity

 

GET  /entity/{uuid}

Returns the details of a entity by uuid

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

Link to the Swagger API site 

 

- Back to the Top -



Suppliers

POST  /supplier

Creates a new supplier in AppZen. Returns a uuid for this supplier. When there already exists a supplier (with the same external_supplier_id), then the operation is an update (in this case, the status in the response will be updated).

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

supplier_core

NA

Yes

This is the root field to contain supplier info

external_supplier_id

Integer

Yes

The unique supplier identifier for each supplier in the source system. This is a system generated ID and is usually used internally by the system software.

supplier_name

String

Yes

The name of the supplier.

supplier_number

String

 

The unique supplier number assigned to each supplier in the source system.This is a user-facing number that is used to identify the supplier.

web_site

String

 

The name of the website of the supplier

on_file_1099

String

 

It will have value Type of 1099 tax code with distribution line

vat_registration_number

String

 

The VAT registration number of the supplier

fed_tax_id

String

 

Tax_id which will have four digit that you pay to the national government mostly in US

is_active

Boolean

Yes

To check if the supplier is active or not. True/False

deactive_date

String

 

The date of deactivation, if supplier is not active

deactived_by

   

The email address from which the supplier was deactivated

note

   

Note from a supplier

addresses

   

This is the root field to contain different addresses

address_type

String

Yes

The type of address. Ex. Format: OFFICE, REMIT_TO, or SUPPLIER_SITE.

address

String

 

This is the root field to contain info about an address

address_line1

String

 

The address line 1 of the supplier.

address_line2

String

 

The address line 2 of the supplier.

address_line3

String

 

The address line 3 of the supplier.

area_code

String

 

The area code of the area mentioned in address of supplier

city

String

 

The city of the supplier.

company

String

 

The name of the company to which supplier belongs to

contact

String

 

The name of the contact person

country

String

Yes


The country of the supplier. Ex: US

country_iso3

String

 

The Country code of supplier in iso3 format, Ex: USA

email

String

 

The email id of the supplier

phone

String

 

The contact number of the supplier

province

String

 

The province of the supplier.

state

String

 

The state of the supplier.

zip

String

Yes

The zip code of the supplier.

site_id

String

 

The unique number assigned to the supplier's site.

site_name

String

 

The name of the supplier site

custom_json

   

If ERP system want to send any extra information, it can be sent under custom json

key1

String

 

Values sent under Custom JSON

contacts

   

This root element will hold the contact information of a 3rd party for example if we are supposed to contact that supplier by calling some 3rd party

external_contact_id

String

 

External ID for that contact person

first_name

String

 

First name of that 3rd party contact person

last_name

String

 

Last name of that 3rd party contact person

email

String

 

Email Id of that 3rd party contact person

phone_number

String

 

Phone number of that 3rd party contact person

payment_term_id

String

 

This value should be unique in the customer’s ERP system to distinguish payment terms

bank_information

   

Bank information of the supplier

bank_acct_last4

String

 

The last 4 digit of the bank account number

routing_number_last4

String

 

The last 4 digit of the bank routing number

bank_account_name

String

 

The name to whom the bank account belongs to

bank_account_type

String

 

The bank account type

custom_json

   

If ERP system want to send any extra information, it can be sent under custom json

key1

String

 

Values sent under Custom JSON

 

GET /supplier/{uuid}

Returns the details of a supplier by uuid

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

Link to the Swagger API site 

 

- Back to the Top -

 

Purchase Orders

POST  /purchase-order

Creates a new purchase order in AppZen and returns a uuid that uniquely identifies it. When there already exists a purchase order (purchase_order_number), then the operation is an update (the status would be updated in this case).

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory 

Description

purchase_order_number

String

Yes

The Purchase Order(PO) Number from source system

entity_id

String

Yes

The unique organization identifier in source system

supplier_id

String

Yes

The unique supplier identifier in the source system that matches with the supplier reference sent in the supplier file.

gl_code

String

 

The code value of the segments

payment_term_id

String

 

This value should be unique in the customer’s ERP system to distinguish payment terms

comments

String

 

Any comment on the purchase Order

exchange_rate

   

This is root field to contain the info of exchange rate

conversion_rate

Number

 

The conversion rate from the transactional currency to the functional currency

from_currency_code

String

 

The currency code of the transactional currency

to_currency_code

String

 

The currency code of the functional currency

start_date

String

 

The date when the purchase order has been issued to a vendor. format:yyyy-mm-ddTHH:mm:ssZ

end_date

String

 

The date for which delivery of any Product is stated in a Purchase Order and confirmed by Supplier. format:yyyy-mm-ddTHH:mm:ssZ

total_amount

   

This is root field to contain the info of total amount of purchase order

amount

Number

 

The total amount of the Purchase Order.

currency

String

 

The currency of the total amount. Ex. USD

amount_limit

   

This is root field to contain the info of amount limit

amount

Number

 

The maximum allowed amount of the Purchase Order

currency

String

 

The currency of the maximum allowed amount of the Purchase Order Ex. USD

min_release_amount

   

This is root field to contain the info about the minimum allowable amount of the Purchase Order

amount

Number

 

The minimum allowed amount of the Purchase Order

currency

String

 

The currency of the minimum allowed amount of the Purchase Order : Ex. USD

email_address

String

 

The email address on the Purchase Order

purchase_requisition_id

String

 

The purchase requisition id related to this Purchase Order

purchase_order_type

String

 

Type of purchase order like Blanket/Standard/Contract

purchase_order_status

String

Yes

This status value should contain the purchase order (header level) status as shown in the customer’s ERP system

appzen_purchase_order_status

String

Yes

It is a mapping from customer’s purchase_order_status to AppZen’s defined purchase order status values

ship_to_location

String

 

The location to which the Purchase Order is shipped

ship_to_location_id

String

 

The location id to which the Purchase Order is shipped

requester

String

 

The person requesting for the Purchase Order

custom_json

   

If ERP system want to send any extra information, it can be sent under custom json

purchase_order_lines

 

Yes

This is root field to contain the info about the Purchase Order lines

po_line_id

String

 

The unique identifier of the line from source system

line_number

Number

 

The reference of the line in the Purchase Order

gl_code

String

Yes

The code value of the segments

line_item_code

String

 

It refers to the external item id in Purchase Order

line_description

String

 

The description of the item in Purchase Order

quantity

Number

Yes

The quantity of goods and services provided by the supplier. It should be assigned value of 1 if value is missing

unit_price

 

Yes

This is root field to contain the info about the unit price of goods or services

amount

Number

 

The price you charge per unit of goods or services.

unit_price: currency

String

 

The currency of the unit price amount. Ex. USD.

amount

 

Yes

This is root field to contain the info about the amount of Purchase order

amount

   

The line amount of the purchase order.

currency

   

The currency of the line amount.

line_vat_amount

 

  The root field to contain the info about the VAT.

amount

Number

  The total line VAT amount of the Purchase Order Line

currency

String

  The currency of the VAT amount

line_vat_breakdown

 

  The break down of VAT amount for the Purchase Order line

code

String

  Tax code

rate

Number

minimum:0

exclusiveMinimum: True

  Tax rate in percentage

vat_amount

 

   

amount

Number

Default:0

  VAT amount for the Purchase order line

currency

String

  Currency of the VAT amount

contractor_name

String

 

The Purchase Order contractor name

contractor_start_date

String

 

The start date of the Contractor on the Purchase order

date should be in UTC format

format:yyyy-mm-ddTHH:mm:ssZ

closed_flag

Boolean

 

Checks if the Purchase Order is closed. Ex. true, false, or ""

closed_by

String

 

The person who closed the Purchase Order

closed_date

String

 

The date on which Purchase Order was closed

format:yyyy-mm-ddTHH:mm:ssZ

closed_reason

String

 

The reason for closing the Purchase Order

cancel_flag

Boolean

 

If the Purchase Order is canceled. Ex. true, false, or ""

cancel_date

String

 

Date on which the Purchase Order was cancelled.

format:yyyy-mm-ddTHH:mm:ssZ

cancel_reason

String

 

The reason for cancellation

taxable_flag

Boolean

 

Checks if the Purchase Order is taxable

tax_code_id

String

 

The tax code Id of the purchase order

tax_name

String

 

The tax name on the purchase order

type_1099

String

 

it will have value Type of 1099 tax code with distribution line

committed_amount

   

This is root field to contain the info about the Committed amount of Purchase order

amount

   

the committed amount per the Purchase Order

currency

   

The currency of the committed amount in Purchase Order. Ex. USD.

amount_limit

   

This is root field to contain the info about the amount limit of Purchase order

amount

Number

 

The limit on the amount per the Purchase Order line

currency

String

 

The currency of the amount limit of the line. Ex. USD.

unit_list_price

   

This is root field to contain the info about the unit list price of goods or services

amount

Number

 

The unit list price you charge per unit of goods or services.

currency

String

 

The currency of the unit list price. Ex. USD.

base_list_price

   

This is root field to contain the info about the base list price of goods or services

amount

Number

 

The base list price per the Purchase Order line item

currency

String

 

The currency of the base list price Ex. USD.

uninvoiced_amount

 

Yes

Balance left in the Purchase order line

amount

Number

 

The amount left in the Purchase Order line

currency

String

 

The currency of the un-invoiced amount in a Purchase Order. Ex. USD.

received_amount

   

This is root field to contain the info about the received amount of Purchase order

amount

Number

 

The received Amount in the Purchase order line

currency

String

 

The currency of the received amount, EX. USD

progress_payment_rate

Number

 

The progress payment rate in a purchase order

item_category

String

 

The category to which the item belongs to

item_category_id

String

 

The ID of that category to which item belongs to

hazard_class_id

String

 

This will be applicable for goods or material like radioactive, chemical which is hazardous in nature they will unique id assigned to it

unit_of_measure

String

 

The unit of measure for the line item. Ex. each, pallet, package, etc

committed_quantity

Number

 

The mandatory quantity that is to be provided in a purchase order

ordered_quantity

Number

 

The ordered quantity to be provided.

received_quantity

Number

 

The ordered quantity actually received.

service_line_start_date

String

 

The start date of the service in Purchase Order

date should be in UTC format

format:yyyy-mm-ddTHH:mm:ssZ

service_line_end_date

String

 

The end date of the service in Purchase Order

date should be in UTC format

format:yyyy-mm-ddTHH:mm:ssZ

match_basis

String

 

The basis of matching PO

NONE_MATCH_BASIS, AMOUNT, QUANTITY

match_type

String

 

The match type in PO

PO_NONE_MATCH_TYPE, PO_POLICY_TWO_WAY_MATCH, PO_POLICY_THREE_WAY_MATCH

line_type

String

 

The type of line in PO

NONE_LINE_TYPE, GOODS, SERVICE

purchase_order_line_status

String

 

This status value should contain the purchase order line status as shown in the customer’s ERP system

appzen_purchase_order_line_status

String

 

Mapping from customer’s purchase_order_line_status to AppZen’s defined purchase order line status values

purchase_requisition_id

String

 

The purchase requisition id related to this Purchase order

buyer

String

 

Info of the buyer

custom_json

   

If ERP system want to send any extra information, it can be sent under custom json

 

GET  /purchase-order/{uuid}

Returns the details of a purchase order by uuid

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

Link to the Swagger API site 

 

- Back to the Top -

 

Documents

GET  /generate-upload-url

Generates a url to upload a document into the AppZen repository.

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

url

   

An url field is a one-time unique URL.

uuid

   

contains the identifier of the document to be uploaded.

expires

   

An expires field is the expiration timestamp of the url field

 

Link to the Swagger API site 

 

- Back to the Top -

 



Invoices

POST  /invoice

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).

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

total_amount

 

Yes

The total amount on the invoice

amount

Number

Yes


The total amount for the invoice line – It is calculated as Quantity multiplied by Unit Price.

currency

String

Yes

The currency of the total amount. Ex. USD

invoice_id

String

 

The unique invoice id in the source system.

invoice_status

String

 

Status of invoice in ERP example-POSTED, PARKED, APPROVED, PAID etc

entity_id

String

 

The organization ID reference from source system

entity_name

String

 

The organization/company name.

purchase_order_number

String

 

The Purchase Order number for the invoice

po_policy

   

The root element to hold information of PO Backed/Non PO backed invoice

po_backed

Boolean

 

If invoice is generated based on PO it should be true else false

po_match_type

String

 

if non PO-PO_NONE_MATCH_TYPE, If PO based it should be either PO_POLICY_TWO_WAY_MATCH OR PO_POLICY_THREE_WAY_MATCH

site_id

String

 

The site id in the address

invoice_number

String

Yes

The unique number assigned to the invoice.

invoice_date

String

Yes

The date on which an invoice for a good is issued. Date Format : 2019-07-21T17:32:28Z

original_invoice_id

String

 

This should be populated for the Credit memo transaction. It is the unique ID of the invoice on which the credit memo is created

original_invoice_date

String

 

This should be populated for the Credit memo transaction. It is the invoice date of invoice on which the credit memo was created

payment_term_id

String

 

This value should be unique in the customer’s ERP system to distinguish payment terms

remit_to_bank_info

   

The root element which holds information about, to which account payment should be made to settle this invoice

bank_acct_last4

String

 

The last 4 digit of the account number to which payment should be made

routing_number_last4

String

 

The unique number assigned to each bank to identity that particular bank banking union or banking system

bank_account_name

String

 

The name assigned to that bank account

bank_account_type

String

 

The type of bank account

requestor

   

The Name or Id of the person who is generating this invoice

documents

   

The root element which holds information about the documents

uuid

String

 

The single or list of uuids which you will get by calling /generate-upload-url api

shipping_handling_amount

   

The root element which holds information about the amount charged for the labor, storage, and delivery costs incurred to complete customer orders

amount

Number

 

The amount charged for the labor, storage, and delivery costs incurred to complete customer orders

currency

String

 

The currency in which amount is charged for the labor, storage, and delivery costs incurred to complete customer orders

submission_date

String

 

The submission date of the Invoice

submitter

String

 

The name of the person who submitted the invoice

supplier_name

String

 

The name of the supplier

supplier_number

String

 

The unique number assigned to the supplier

supplier_id

String

Yes

The unique external number assigned to the supplier. This is from the source system

tax_amount

   

The root element which holds info about the tax amount

amount

Number

 

The sum of tax for each line in the invoice.

currency

String

 

The currency of the tax amount.. Ex. USD

vat_amount

   

The root element which holds info about the VAT amount

amount

Number

 

The total VAT applicable for a line

currency

String

 

The currency of the VAT amount. Ex. USD

vat_breakdown

 

  The break down of VAT amount for the Invoice

code

String

  Tax code. Ex: GST

rate

Number

minimum:0

exclusiveMinimum: True

  Tax rate in percentage

vat_amount

 

   Root element to hold VAT info

amount

Number

Default:0

  VAT amount for the Invoice

currency

String

  Currency of the VAT amount on the Invoice

vat_registration_numbers

String

 

 

total_amount_excluding_vat

 

 

 

amount

Number

Default:0

 

 

currency

String

 

 

supplier_address

   

The root element which holds info about the supplier address

address_type

String

 

The type of address. Ex. Format: OFFICE, REMIT_TO, or SUPPLIER_SITE.

address

   

This is the root field to contain info about an address

address_line1

String

Yes

The address line 1 of the supplier.

address_line2

String

 

The address line 2 of the supplier.

address_line3

String

 

The address line 3 of the supplier.

area_code

String

 

The area code of the area mentioned in address of supplier

city

String

 

The city of the supplier.

company

String

 

The name of the company to which supplier belongs to

contact

String

 

The name of the contact person

country

String

Yes


The country of the supplier. Ex: US

country_iso3

String

 

The Country code of supplier in iso3 format, Ex: USA

email

String

 

The email id of the supplier

phone

String

 

The contact number of the supplier

province

String

 

The province of the supplier.

state

String

 

The state of the supplier.

zip

String

Yes

The zip code of the supplier.

billing_address

   

The root element which holds info about the billing address

address_type

String

 

The type of address. Ex. Format: OFFICE, REMIT_TO, or SUPPLIER_SITE.

address

   

This is the root field to contain info about an address

address_line1

String

Yes

Billing dept address line 1 for company represented in OrgName

address_line2

String

 

Billing dept address line 2 for company represented in OrgName

address_line3

String

 

Billing dept address line 3 for company represented in OrgName

area_code

String

 

The area code of the area mentioned in address of supplier

city

String

 

Billing dept bill to City for company represented in OrgName

company

String

 

The name of the company to invoice bills to

contact

String

 

The name of the contact person in the billing company

country

String

Yes

Billing dept bill to Country for company represented in OrgName

country_iso3

String

 

Billing dept bill to Country for company represented in OrgName. the name of the country should be in iso3 format. Ex. USA

email

String

 

The email id of the contact person

phone

String

 

The contact number of the contact person

province

String

 

Billing dept bill to Province for company represented in OrgName

state

String

 

Billing dept bill to State for company represented in OrgName

zip

String

Yes

Billing dept bill to Zip for company represented in OrgName

shipping_address

   

This is the root field to contain info about shipping address

address_type

String

 

The type of address. Ex. Format: OFFICE, REMIT_TO, or SUPPLIER_SITE.

address

   

This is the root field to contain info about an address

address_line1

String

Yes


The physical address line 1 where shipments are sent.

address_line2

String

 

The physical address line 2 where shipments are sent.

address_line3

String

 

The physical address line 3 where shipments are sent.

area_code

String

 

The area code of the area mentioned in address where shipments are sent

city

String

 

The city where shipments are sent.

company

String

 

The name of the company where shipments are sent

contact

String

 

The name of the contact person in the company where shipments are sent

country

String

Yes

The country where shipments are sent.

country_iso3

String

 

The name of the country where shipments are sent in iso3 format. Ex. USA

email

String

 

The email id of the contact person in the company where shipments are sent.

phone

String

 

The phone number of the contact person in the company where shipments are sent.

province

String

 

The province where shipments are sent.

state

String

 

The state where shipments are sent.

zip

String

Yes

The zip code where shipments are sent.

remit_to_address

   

This is the root field to contain info about address where payment is to be received

address_type

String

 

The type of address. Ex. Format: OFFICE, REMIT_TO, or SUPPLIER_SITE.

address

   

This is the root field to contain info about an address

address_line1

String

Yes


The physical address line 1 where payment is to be received.

address_line2

String

 

The physical address line 2 where payment is to be received.

address_line3

String

 

The physical address line 3 where payment is to be received.

area_code

String

 

The area code of the area mentioned in address where payment is to be received

city

String

 

The city where payment is to be received.

company

String

 

The name of the company where payment is to be received

contact

String

 

The name of the contact person in the company where payment is to be received

country

String

Yes

The country where payment is to be received.

country_iso3

String

 

The name of the country where payment is to be received in iso3 format. Ex. USA

email

String

 

The email id of the contact person in the company where payment is to be received.

phone

String

 

The phone number of the contact person in the company where payment is to be received.

province

String

 

The province where payment is to be received.

state

String

 

The state where payment is to be received.

zip

String

Yes

The zip code where payment is to be received.

other_addresses

   

This is the root field to contain info about any extra address

address_type

   

The type of address. Ex. Format: OFFICE, REMIT_TO, or SUPPLIER_SITE.

address

   

This is the root field to contain info about an address

address_line1

String

Yes

Line 1 of the address

address_line2

String

 

Line 2 of the address

address_line3

String

 

Line 3 of the address

area_code

String

 

The area code of the area in address

city

String

 

City in the address. For Ex: San Francisco

company

String

 

Name of the Company

contact

String

 

Name of the contact person

country

String

Yes

Country name in the address . For Ex: US

country_iso3

String

 

Country name in the address in iso3 format. For Ex: USS

email

String

 

Email Id of the contact person

phone

String

 

Phone number of the contact person

province

String

 

The name of the Province if it exists in the address

state

String

 

The name of the state if it exists in the address

zip

String

Yes

The Zip code of the address

site_id

String

 

The site ID in the address

site_name

String

 

The site name in the address

custom_json

   

If ERP system want to send any extra information, it can be sent under custom json

key1

   

Values sent under Custom JSON

gl_code

   

All Accounting segments of the GL distribution eg: 101.2111.34456.6001.401.01all

segments

   

The list of segments

segments

   

The root element which holds info about the Invoice account segments

code

String

Yes

The code value of segment

name

String

Yes

The name of the segment

segment_type

String

Yes

The type of segment

appzen_segment_type

String

Yes

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.

segment_name_id

String

Yes

The unique id of a segment

invoice_description

String

 

The description of the invoice

payment_date

String

 

The root element which holds info about the invoice lines

invoice_lines

 

Yes

The line number of the line in invoice

line_number

Number

Yes

The sequence of line numbers.

line_description

String

Yes

The description of the item.

quantity

Number

Yes


The quantity of goods and services provided by the supplier on the line.

unit_price

String

Yes

The root element which holds info about the unit price in invoice lines

amount

Number

Yes

The price you charge per unit of goods or services.

currency

String

Yes

The currency of the unit amount. Ex. USD

total_amount

 

Yes

The root element which hold info about the total amount in the invoice lines

amount

Number

Yes

The total amount of the invoice in transactional currency

currency

String

Yes

The transactional currency of the invoice amount. Ex. USD

tax_amount

   

The root element which holds info about the tax amount

amount

Number

Yes

The sum of tax for each line in the invoice.

currency

String

Yes

The currency of the tax amount.. Ex. USD

purchase_order_number

String

 

The purchase order number of the invoice.

purchase_order_line_number

String

 

The line number of the purchase order number of the invoice

po_match_type

String

 

The match type of invoice like PO_NONE_MATCH_TYPE, PO_POLICY_TWO_WAY_MATCH, PO_POLICY_THREE_WAY_MATCH

line_item_code

String

 

The unique item id from source system

unit_of_measure

String

 

The unit of measure for the line item. Ex. each, pallet, package, etc.

model_number

String

 

Model number of the item in invoice

currency

String

 

The currency of the amount in invoice

gl_code

String

 

The code value of segment

segments

   

The list of segments

segments

   

The root element which holds info about the Invoice account segments

code

String

Yes

The code value of segment

name

String

Yes

The name of the segment

segment_type

String

Yes

The type of segment

appzen_segment_type

String

Yes

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.

segment_name_id

String

Yes

The unique ID of a segment

custom_json{

   

If ERP system want to send any extra information, it can be sent under custom json

options

   

The root element which holds info about the Invoice lines

strict_invoice_number

String

 

whether invoice_number can be used for looking up invoice. Valid values “0” or “1”

 

POST  /invoice/search

Returns a list of the invoice uuids that match the status, from-date and end-date. Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

appzen-invoice-status

String

 

Audit status assigned to invoice by Appzen

erp-invoice-status

String

 

ERP invoice status

invoice-id

String

 

The invoice ID of an invoice

invoice-number

String

 

The invoice number of an invoice

supplier-id

String

 

The unique supplier ID

from-last-appzen-update-time

String

Yes

Start Date Range value for Appzen processing date specified in UTC format

to-last-appzen-update-time

String

Yes

End Date Range for Appzen processing date specified in UTC format

 

Link to the Swagger API site 

 

- Back to the Top -

 

Processed Invoices

GET  /invoice/processed-invoice/{uuid}

Returns the processed results and invoice by uuid.

JSON Format

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

Link to the Swagger API site 

 

- Back to the Top -

 

Invoice Status Sync

POST  /invoice/{uuid}/status-sync 

This is used to update the external ERP status as well as appzen internal state for an invoice referred by uuid.

JSON Format

Attachments are represented as JSON objects with the following properties:

Name

Type

Mandatory

Description

invoice_id

   

It is the unique id of an invoice

invoice_status

   

It tells about the status of the invoice in the source ERP system

appzen_invoice_state

 

yes

It tells about the status of the invoice in AppZen

timestamp

 

yes

It is the timestamp at which Invoice is created

date should be in UTC format

error_data

   

It is the root element which holds info when appzen_invoice_state is ERROR

message

   

The error message

status

   

The status code

exception

   

Any exceptions observed

 

Link to the Swagger API site 

 

- Back to the Top -

 

Invoice Audit Results

GET  /invoice/{uuid}/audit-results

Returns the audit results of an invoice by uuid. It includes the risk at invoice header level, such as LOW, MEDIUM, HIGH and the overall invoice status, such as Approved, Rejected.

Name

Type

Mandatory

Description

uuid

string

yes

Globally unique identifier for an uploaded document

 

GET  /invoice/audit-results

Returns a collection of audit results filtered by search parameters.

Name

Type

Mandatory

Description

uuid

string

 

Globally unique identifier for an invoice

invoice-number

string

 

The supplier’s invoice number

invoice-id

string

 

The external invoice id

supplier-id

string

 

The external supplier id

 

Link to the Swagger API site 

- Back to the Top -

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.