Below you'll find some of our best practices regarding the use of our APIs
Task | Type | Description |
---|---|---|
API Key | Required | The API key should be passed in the header of every API request you make. |
Transactions per second (TPS) | Required | TPS limits are set at the account level. Ensure you load test in CERT (Sandbox) to ensure you are within your limits. |
Validate Address | Optional | By using the address validation URL upon intake of an address or edit of an address, you can maintain your addresses and react to any changes outside of the tax calculation. |
Service Availability | Optional | You can monitor CereTax services at https://ceretax.betteruptime.com/ |
Status and Error Codes | Optional | Ensure you are receiving error codes and taking time to determine how to handle and are monitoring your logs. |
API Functions | Required | There are different endpoints for the following, ensure you have implemented them: - Cancel To cancel a transaction, leverage the Suspended status - Update Transaction - Reverse Transaction |
Transaction Status | Required | Quote - The transaction was created in CereTax, but only for the purpose of estimating tax. Quote transactions are temporary and cannot be updated. Active - The transaction has been created in CereTax, but the details of the transaction have not been finalized. When the details of the transaction are finalized, the status should be updated to Posted. Posted - The transaction has been created in CereTax and the details of this transaction have been finalized. Suspended - The transaction is suspended in CereTax. Transactions that should not be in CereTax or do not match your business application should be set to Suspended. Pending - This transaction has been created in CereTax, but it contains one or more line item issues that must be resolved before the transaction can be reprocessed and set to Active. |
KSUID | Required | Recommendation is to store the KSUID in your logs for troubleshooting. |
Invoice Number | Required | Invoice number is an important unique identifier that can be used to help identify the invoice and associated line items. |
Customer Account | Optional | If not sending tax exemption codes as part of the API Request, this is usually the field that drives tax exemption configuration within the CereTax UI. This is also a recommended field for reconciliation purposes. |
PS Codes | Required | PS Codes are required to determine taxes. Item codes (with associated descriptions) are mapped to PS Codes. Validation of the PS Code Mappings and tax results is important to ensure variances are within your set range. |
Tax Exemptions | Optional | Testing exemptions and levels for accurate results. |
Bundles | Optional | Bundle testing for accurate tax results is recommended where applicable. |
Reports | Optional | Running reports after a data set has been passed through to the CERT (Sandbox) environment is critical to ensure the results align. Reports Highly Recommended: Partner Compliance Reports. |
Profile | Required | Used to delineate accounts in a global reseller embedded billing partner. Limitation is no UI access for end user. API Guidance: https://apidocs.ceretax.net/reference/post-profiles |
Attribute | Optional | Additional fields can be optionally sent as custom attributes in the API request to CereTax. If used, these attributes can also be used to define tax Rules in the CereTax UI. API Guidance: https://apidocs.ceretax.net/reference/naming-conventions |