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 |
Transactional Data |
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 |
segment_lookup_names |
String |
|
Optional list of lookup names |
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 |
active |
Boolean |
|
Default:True |
valid_start_date |
String($date) |
|
Date should be in UTC format |
valid_end_date |
String($date) |
|
Date should be in UTC format |
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 |
Yes |
Country name in the address of entity. For Ex: US |
country_iso3 |
String |
Country name in the address in iso3 format. For Ex: USS |
|
|
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 |
|
is_active |
Boolean |
Default:True |
|
valid_start_date |
String($date) |
|
Date should be in UTC format |
valid_end_date |
String($date) |
|
Date should be in UTC format |
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 Refers to the AppZen mapped values. Please provide the mapped values in the same sequence as the customer coa_structure. 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. |
|
dataset_lookup_names |
N/A |
one to one mapping with coa_structure fields to specify optional lookup contexts. |
|
coa-look-names |
|
If “” or " " (white space only, no lookup context is specified for the corresponding coa_structure element. |
|
optional_segments |
list |
This is case sensitive list of items from coa_structure that are optional. |
|
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 |
|
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 |
String |
The email address from which the supplier was deactivated |
|
note |
String |
Note from a supplier |
|
addresses |
Yes |
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 |
|
|
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 |
|
is_active |
Boolean |
To check if the supplier 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 |
|
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 |
|
|
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 |
Yes |
This status value should contain the purchase order line status as shown in the customer’s ERP system |
appzen_purchase_order_line_status |
String |
Yes |
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 |
||
purchase_order_date |
String |
date should be in UTC format |
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 |
Yes | 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 |
Yes |
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 |
invoice_type |
String |
|
INVOICE, CREDIT_NOTE, DEBIT_NOTE, PROFORMA, TAX_ONLY |
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 -
Comments
Please sign in to leave a comment.