Transaction Schema
The transaction schema contains the fields that represent a transaction. It also contains information that is returned by the API such as tax information.
The following table summarizes the available fields:
Field | Description |
---|---|
confirm_timestamp | Date and time of transaction confirmation. |
fully_informative | Set to true if transaction has only informative lines. |
deducted_tax_amount | The amount of tax which has been deducted. For example, due to reverse-charge mechanism for B2B transactions. |
order_date_type | 'timestamp' means that an order date was captured with a full timestamp and can be applied to an FX source which distinguishes time of the day. Empty value or 'day' means that only day information is present. |
buyer_credit_card_prefix | First 6 digits of buyer's credit card prefix. This takes precedence over 'evidence.by_cc' if both are supplied in the request. Note that 'evidence.by_payment_method' will be used as the payment country if supplied. |
custom_data | Custom data related to transaction. |
buyer_name | Buyer's name - first name and last name or company name. |
invoice_date | Invoice date of issue. |
create_timestamp | Date and time of transaction creation. |
currency_code | Currency code for transaction. For example EUR. |
sub_account_id | Sub account identifier. |
supply_date | Supply date in yyyy-MM-dd format. |
buyer_tax_number_normalized | Buyer's tax number in a normalized form. |
invoice_image_url | Invoice image URL. This value is returned in responses from the API. |
key | The Transaction Key that is generated by Vertex and returned in responses from the API. |
tax_number_service | Tax number service identifier. If it is available for a given region and the region is enabled. |
control_flags | Control flags, stored as key-value string pairs. Possible flags (keys): "b2b-number-service-timeoutms", "b2b-number-service-expiry-days", "b2b-number-service-on-error" (value "accept"). Region code can be appended to all of the keys, for example "b2b-number-service-timeoutms-EU". |
buyer_tax_number_valid | If the buyer tax number has been provided and was validated successfully. Always true for domestic transactions (billing country same as merchant's country), tax number doesn't get validated in that case. |
verification_token | SMS verification token. This takes precedence over 'evidence.by_token' if both are supplied. |
note | Additional note related to transaction state. For example, if the transaction was created in a 'catch-all' mode or the VAT number re-check for subscriptions has failed. |
tax_supported | Is tax calculation supported for a detected tax location? |
tax_data | Tax additional information. For example, US sales tax exemption certificate data. |
us_tax_exemption_certificate | US sales tax exemption certificate. Used only with Vertex's TaxCloud integration. |
transaction_lines | Transaction lines. |
buyer_tax_number | Buyer's tax number. For example, the EU VAT number for example. If valid this determines the tax country and other evidence is ignored. This takes precedence over 'evidence.by_tax_number' if both are supplied in the request. If using EU VAT number, it is possible to provide country code in it (for example IE1234567X) or simply use 'billing_country_code' field for that. In the first case, if 'billing_country_code' value was provided, it will be overwritten with country code value extracted from VAT number but only if the VAT number has been verified properly. |
external_key | Transaction external key |
additional_interactions | Information about additional interactions when necessary or available. |
status | Transaction status: 'N' - new, 'C' - confirmed. Can use 'C' in when creating a transaction with a private token to create confirmed transaction, otherwise 'N' is default status. Not applicable when updating a transaction. |
custom_fields | Custom fields, stored as key-value pairs. This property is not processed and used mostly with Vertex-built helpers. |
shipment_country_data | Shipment country data. |
tax_option | Tax option selected for the shipment country. |
force_country_code | Two-letter ISO country code, for example FR. Use it to force country code for tax calculation. |
countries | Map of countries calculated from evidence provided. This value is not stored and is available only upon tax calculation. |
by_token | Country detected from SMS token |
by_cc | Country detected by credit card number prefix |
by_2003_rules | Used when merchant uses 2003 EU VAT rules. |
forced | Country forced by parameters |
by_ip | Country detected by IP |
guessed_from_ip | Country guessed from IP due to lack of other evidence |
other_commercially_relevant_info | Additional evidence held by the merchant. |
by_billing | Country detected by billing country code |
by_tax_number | Country detected from EU TAX number |
detected | Country detected from provided evidence |
self_declaration | Self declared country as evidence. |
invoice_number | Invoice number. |
tax_country_codes | Comma separated list of tax country codes. |
tax_engine | Tax engine used for the calculation. |
product_classes | Product classes present in this transaction. |
order_date | Order date in yyyy-MM-dd or yyyy-MM-dd HH:mm:ss or yyyy-MM-dd'T'HH:mm:ss'Z' format, in merchant's timezone. If provided by the API caller, no timezone conversion is performed. Default value is current date and time in merchant's timezone. When using public token, the default value is used. When time is provided, it is assumed that the date has full resolution, which affects some regions FX rate calculation - Serbia for example. |
external_unique_id | External unique ID. It is advised to use secure and random identifiers in this field. |
customer_id | Free-form field for storing customer id. |
kind | Transaction kind: {region}-b2c, {region}-b2b, domestic, untaxed. |
source | Transaction source software. For example, plugin. |
amount | Amount of transaction without tax. |
comments | Additional information about the transaction - for example if the evidence has been amended. |
buyer_ip | IP address of the buyer in dotted decimal (IPv4) or text format (IPv6). This takes precedence over 'evidence.by_ip' if both are supplied. |
buyer_email | Buyer's declared email address. |
original_transaction_key | Use data and evidence from original transaction. Tax will be re-calculated, but evidence won't be re-checked. This parameter is taken into account only when 'manual_mode' is true. |
billing_country_code | Billing two letter ISO country code. |
invoice_image_url_secret | Invoice image URL secret URL. This is generated by the service. |
custom_id | Custom identifier provided upon transaction creation. |
tax_amount | Tax amount of transaction. |
tax_entity_additional_id | Tax entity additional ID. |
warnings | Warnings for the transaction process, usually related to contacting the Vertex Validator service. |
additional_currencies | Additional currency information. This can be used to receive additional information about invoice in another currency. |
invoice | Invoicing currency information. |
ship_to_address | Ship to address. |
used_for_tax_calculation | If the address has been used for tax calculation (digital only). |
city | City name. |
postal_code | Postal code. |
county | County name |
country_code | Two-letter ISO country code. For example, FR. |
street_name | Street name. |
region | Region/State/Province. For example, a United States state code such as NJ. |
address_detail | Address details such as apartment number. |
freeform_address | Freeform address. Use when structured data is not available. Will be used in SAF-MOSS file if other fields are not provided. |
building_number | Building number. |
invoice_place | Invoice place of issue. |
total_amount | Total amount of transaction. |
tax_entity_name | To which entity is the tax due. |
evidence | Tax country of residence evidence. This can be used in requests (use 'evidence_value' only) to pass evidence to Taxamo. Taxamo will fully populate each supplied evidence object in responses with the 'resolved_country_code' and 'used' fields. |
by_token | SMS verification token. Can be provided in requests but 'verification_token' will be used if both are provided. |
by_cc | Credit card number prefix. Can be provided in requests but 'buyer_credit_card_prefix' will be used if both are provided. |
by_2003_rules | Used when merchant uses 2003 EU VAT rules. |
forced | Forced country code. Present in the response if 'force_country_code' was provided in the request. Ignored if provided in the request. |
by_payment_method | Country determined by payment method. If provided in the request this takes precedence over country detected using 'evidence.by_cc' and 'buyer_credit_card_prefix'. |
by_ip | Customer IP address. Can be provided in requests but 'buyer_ip' will be used if both are provided. |
other_commercially_relevant_info | Additional evidence held by the merchant. Can be used only with a private token. |
by_billing | Billing country code. Can be provided in requests but 'billing_country_code' will be used if both are provided. |
by_tax_number | Buyer's tax number - EU VAT number for example. Can be provided in requests but 'buyer_tax_number' will be used if both are provided. |
self_declaration | Country as self declared by the buyer. This is not used by default. Contact Taxamo support to enable it. |
refunded_tax_amount | Refunded tax amount. |
manual | Was the transaction created in manual mode - using private token. In manual mode, it is the merchant who calculates tax country and validates evidence. Manual mode must be used when using original_transaction_key field to link to a placeholder transaction. |
tax_timezone | Timezone name for tax transaction. |
description | Transaction description. |
test | Was this transaction created in test mode? |
tax_deducted | If the transaction is in a country supported by Taxamo, but the tax is not calculated due to merchant settings or EU B2B transaction for example. |
tax_country_code | Two-letter ISO country code. For example FR. This code applies to detected/set country for transaction. |
refunded_total_amount | Total amount refunded (including tax). |
Updated 10 months ago