/api/v1/accounting/sage/tax-mappings
auth: jwt (administrator)List all Sage tax-type to V-SDC tax-label mappings for the business (`Provider='sage'`). Mirrors `/accounting/xero/tax-mappings`.
handlers: SageAccountingTaxMappingsController.list
No parameters.
APIResponseDataList<TaxRateMappingDTO>/api/v1/accounting/sage/tax-mappings/auto-map
auth: jwt (administrator)Pull Sage tax-rates + V-SDC `/status` and return match suggestions. Does NOT persist. Rate-limited (10/min open bucket).
handlers: SageAccountingTaxMappingsController.autoMap
No parameters.
APIResponseDataObject<SageTaxMappingAutoMapResponse>APIError/api/v1/accounting/sage/tax-mappings
auth: jwt (administrator)Create or update one Sage tax-mapping. Re-activates an inactive row on match. Fires `SAGE_TAX_MAPPING_UPDATED` audit (resource type `SAGE_CONNECTION`).
handlers: SageAccountingTaxMappingsController.upsert
| name | required | default | description |
|---|---|---|---|
providerTaxType bodystring | yes | — | Sage tax-type code. |
providerTaxName bodystring | null | no | — | Human-readable Sage tax name. |
providerRate bodynumber | null | no | — | Sage tax rate. |
vsdcTaxLabel bodystring | yes | — | V-SDC label — one of `F/N/P/E/T/A/B/C/D`. |
vsdcRate bodynumber | null | no | — | V-SDC rate percent. |
APIResponseDataObject<TaxRateMappingDTO>APIError/api/v1/accounting/sage/tax-mappings/:providerTaxType
auth: jwt (administrator)Soft-delete a Sage tax-mapping (`IsActive=0`). Idempotent.
handlers: SageAccountingTaxMappingsController.remove
| name | required | default | description |
|---|---|---|---|
providerTaxType pathstring | yes | — | Sage tax-type code to deactivate. |
empty/api/v1/accounting/sage/tax-mappings/:providerTaxType/restore
auth: jwt (administrator)Re-activate a deactivated Sage tax-mapping (`IsActive=1`). Idempotent.
handlers: SageAccountingTaxMappingsController.restore
| name | required | default | description |
|---|---|---|---|
providerTaxType pathstring | yes | — | Sage tax-type code to re-activate. |
empty