# Save Tax Engine Save Tax Engine Endpoint: POST /rest/2.0/TAX_ENGINE Version: 1.0 Security: JWT ## Header parameters: - `sessionId` (string, required) ## Request fields (application/json; charset=utf-8): - `brmObjects` (object) - `brmObjects.CompanyCode` (string) Company Code - `brmObjects.RetentionDays` (string) Retention Day - `brmObjects.RequestTimeOut` (string) Request Time Out - `brmObjects.RollUp` (integer) Tax on Rolled Up Charges: By default, each invoice line item is submitted to tax engine as is. Optionally, line items can be taxed in a rolled-up state to reduce the total number of line items submitted per invoice. - `brmObjects.GroupKey` (string) Billing Activity Group Key: Starting from the invoice line item (ActivityObj) specify the key used to roll up line items by. Activities with the same value will be rolled up and transmitted to tax engine as one. - `brmObjects.BillingComponentId` (integer) Tax Product: Specify product to associate with the invoice activity generated for the purpose of storing rolled up tax charge. In case the field is left empty the proportional distribution based on the cost will apply. Note: This feature is only supported in Avalara integration, ignored by other tax engines. - `brmObjects.IncludeShip` (integer) Include Ship From Address - `brmObjects.ExclusionCriterion` (integer) Enable Exclusion Criterion: Activities meeting this criterion will not be submitted to Avalara. The field 'Exclusion Criterion' MUST evaluate to 1 for exclusion to happen. - `brmObjects.IncludeActivityAdr` (integer) Include Billing Activity Level Addresses? - `brmObjects.OauthAuthenticationKeyId` (integer, required) OAuth Authentication Key: OAuth Key to be used when the Tax Engine requires OAuth authentication prior to sending tax requests. The key is optional and must be previously created before it can be selected in this page. - `brmObjects.TaxEngineExternalId` (string) Tax Engine External Id - `brmObjects.Id` (string, required) Tax Engine - `brmObjects.TaxEngineInstanceName` (string, required) Tax Engine Instance Name: User should create a text description for the selected Tax Engine that is both unique and user-friendly. - `brmObjects.TaxEngineDescription` (string) Tax Engine Description: An optional text description to help other users understand the purpose of the tax engine. - `brmObjects.Status` (string) Status: Active - The BP System calculates taxes based on the selected Tax Engine and its configured rules.Deactivated - No taxation takes place in the BP system. Invoices are closed with no taxation. - `brmObjects.EndpointUrl` (string, required) Service URL: An Internet Address that Tax Engine provides, allowing the BP to communicate with Tax Engine. - `brmObjects.Created` (string) System controlled field: Date and time the record was created - `brmObjects.Updated` (string) System controlled field: Date and time the record was last updated - `brmObjects.CreatedUserId` (string) System controlled field: Id of the user that created the record - `brmObjects.UpdatedUserId` (string) System controlled field: Id of the last user that updated the record - `brmObjects.SureTaxClientNumber` (string) Client Number: Credential supplied by SureTax. - `brmObjects.SureTaxValidationKey` (string) Validation Key: Credential supplied by SureTax and Sovos. - `brmObjects.SureTaxCompressPayload` (integer) Compress Payload: If selected, helps reduce bandwidth when sending data. - `brmObjects.SureTaxBatchSize` (string) Batch Size: Numerical value that defines the size of data packages transferred (by number of line items). Suggested batch size is between 50,000-100,000. - `brmObjects.TranslationLogic` (string) TranslationLogic - `brmObjects.SuretaxTranslationLogic` (string) Translation Logic: Customer-specific logic should be selected from this list if present. - `brmObjects.Login` (string, required) Login - `brmObjects.ConfigurationTrack` (string) Configuration Track: Advanced track is for customer looking to continue using custom mapping plugin built by BP. Regular option offers a configurable page for translating BP fields into Suretax. Regular and provides the most flexibility. A customer on advanced track switching to regular track can always revert to advanced track. - `brmObjects.TaxEngineTypeId` (integer, required) Tax Engine Type - `brmObjects.SureTaxCalculationPrecision` (string) Calculation Precision: Designates to how many decimal places tax calculates are performed by SureTax. ## Response 200 fields (application/json): - `retrieveResponse` (object) - `retrieveResponse.CompanyCode` (string) Company Code - `retrieveResponse.RetentionDays` (string) Retention Day - `retrieveResponse.RequestTimeOut` (string) Request Time Out - `retrieveResponse.RollUp` (integer) Tax on Rolled Up Charges: By default, each invoice line item is submitted to tax engine as is. Optionally, line items can be taxed in a rolled-up state to reduce the total number of line items submitted per invoice. - `retrieveResponse.GroupKey` (string) Billing Activity Group Key: Starting from the invoice line item (ActivityObj) specify the key used to roll up line items by. Activities with the same value will be rolled up and transmitted to tax engine as one. - `retrieveResponse.BillingComponentId` (integer) Tax Product: Specify product to associate with the invoice activity generated for the purpose of storing rolled up tax charge. In case the field is left empty the proportional distribution based on the cost will apply. Note: This feature is only supported in Avalara integration, ignored by other tax engines. - `retrieveResponse.IncludeShip` (integer) Include Ship From Address - `retrieveResponse.ExclusionCriterion` (integer) Enable Exclusion Criterion: Activities meeting this criterion will not be submitted to Avalara. The field 'Exclusion Criterion' MUST evaluate to 1 for exclusion to happen. - `retrieveResponse.IncludeActivityAdr` (integer) Include Billing Activity Level Addresses? - `retrieveResponse.OauthAuthenticationKeyId` (integer) OAuth Authentication Key: OAuth Key to be used when the Tax Engine requires OAuth authentication prior to sending tax requests. The key is optional and must be previously created before it can be selected in this page. - `retrieveResponse.TaxEngineExternalId` (string) Tax Engine External Id - `retrieveResponse.Id` (string) Tax Engine - `retrieveResponse.TaxEngineInstanceName` (string) Tax Engine Instance Name: User should create a text description for the selected Tax Engine that is both unique and user-friendly. - `retrieveResponse.TaxEngineDescription` (string) Tax Engine Description: An optional text description to help other users understand the purpose of the tax engine. - `retrieveResponse.Status` (string) Status: Active - The BP System calculates taxes based on the selected Tax Engine and its configured rules.Deactivated - No taxation takes place in the BP system. Invoices are closed with no taxation. - `retrieveResponse.EndpointUrl` (string) Service URL: An Internet Address that Tax Engine provides, allowing the BP to communicate with Tax Engine. - `retrieveResponse.Created` (string) System controlled field: Date and time the record was created - `retrieveResponse.Updated` (string) System controlled field: Date and time the record was last updated - `retrieveResponse.CreatedUserId` (string) System controlled field: Id of the user that created the record - `retrieveResponse.UpdatedUserId` (string) System controlled field: Id of the last user that updated the record - `retrieveResponse.SureTaxClientNumber` (string) Client Number: Credential supplied by SureTax. - `retrieveResponse.SureTaxValidationKey` (string) Validation Key: Credential supplied by SureTax and Sovos. - `retrieveResponse.SureTaxCompressPayload` (integer) Compress Payload: If selected, helps reduce bandwidth when sending data. - `retrieveResponse.SureTaxBatchSize` (string) Batch Size: Numerical value that defines the size of data packages transferred (by number of line items). Suggested batch size is between 50,000-100,000. - `retrieveResponse.TranslationLogic` (string) TranslationLogic - `retrieveResponse.SuretaxTranslationLogic` (string) Translation Logic: Customer-specific logic should be selected from this list if present. - `retrieveResponse.Login` (string) Login - `retrieveResponse.ConfigurationTrack` (string) Configuration Track: Advanced track is for customer looking to continue using custom mapping plugin built by BP. Regular option offers a configurable page for translating BP fields into Suretax. Regular and provides the most flexibility. A customer on advanced track switching to regular track can always revert to advanced track. - `retrieveResponse.TaxEngineTypeId` (integer) Tax Engine Type - `retrieveResponse.SureTaxCalculationPrecision` (string) Calculation Precision: Designates to how many decimal places tax calculates are performed by SureTax. ## Response 400 fields (application/json): - `error` (string) Bad request - `message` (string) Bad request ## Response 401 fields (application/json): - `error` (string) Unauthorized - `message` (string) Unauthorized ## Response 404 fields (application/json): - `error` (string) Not found - `message` (string) Not found ## Response 429 fields (application/json): - `error` (string) Too many requests - `message` (string) Too many requests ## Response 500 fields (application/json): - `error` (string) Internal error - `message` (string) Internal error