vsmsconnect — API — sage200-tax-mappings

← all endpoints

GET/api/v1/accounting/sage200evolution/tax-mappings auth: jwt (administrator)

List all Sage 200 Evolution tax-mappings for the business (`Provider='sage200evolution'`). The path-param `:id` everywhere else in this surface is the Sage `idTaxRate` (the provider tax type).

handlers: Sage200EvolutionTaxMappingsController.list

Inputs

No parameters.

Outputs

200
APIResponseDataList<TaxRateMappingDTO>
Sage 200 Evolution mappings.
POST/api/v1/accounting/sage200evolution/tax-mappings/auto auth: jwt (administrator)

One-off auto-map against the customer's on-premise Sage 200 Evolution database. Opens a direct MSSQL connection using the supplied credentials, runs `SELECT idTaxRate, Code, cFiscalTaxLabel FROM dbo.TaxRate`, and upserts a proposed mapping for every row not already mapped. Distinct from the `auto-map` pattern used by Xero/Sage/MYOB — this endpoint reads the customer's own DB and persists proposals immediately.

handlers: Sage200EvolutionTaxMappingsController.autoMap

Inputs

namerequireddefaultdescription
host body
string
yes—Sage 200 Evolution DB host (customer's on-prem MSSQL server).
port body
integer
yes—MSSQL port (1–65535). Coerced from string if needed.
database body
string
yes—Database name.
user body
string
yes—SQL login.
password body
string
yes—SQL password.

Outputs

200
APIResponseDataObject<{ proposed: TaxRateMappingDTO[]; skipped: object[]; alreadyMapped: number }>
`proposed[]` — newly upserted proposals; `skipped[]` — rows whose `cFiscalTaxLabel` is missing or not a valid V-SDC label; `alreadyMapped` — count of rows that already have an active mapping.
502
APIError
External Sage DB connection failed.
PUT/api/v1/accounting/sage200evolution/tax-mappings/:id auth: jwt (administrator)

Upsert a single Sage 200 Evolution mapping. `:id` is the Sage `idTaxRate` (provider tax type). Body carries the V-SDC label + optional metadata.

handlers: Sage200EvolutionTaxMappingsController.upsert

Inputs

namerequireddefaultdescription
id path
string
yes—Sage `idTaxRate` — the provider tax type.
providerTaxName body
string | null
no—Human-readable Sage tax name.
providerRate body
number | null
no—Sage tax rate percent.
vsdcTaxLabel body
string
yes—V-SDC label.
vsdcRate body
number | null
no—V-SDC rate percent.

Outputs

200
APIResponseDataObject<TaxRateMappingDTO>
Upserted mapping.
422
APIError
Invalid V-SDC label.
DELETE/api/v1/accounting/sage200evolution/tax-mappings/:id auth: jwt (administrator)

Soft-delete a Sage 200 Evolution mapping (`IsActive=0`). Idempotent.

handlers: Sage200EvolutionTaxMappingsController.remove

Inputs

namerequireddefaultdescription
id path
string
yes—Sage `idTaxRate`.

Outputs

204
empty
No content.
POST/api/v1/accounting/sage200evolution/tax-mappings/:id/restore auth: jwt (administrator)

Re-activate a deactivated Sage 200 Evolution mapping (`IsActive=1`). Note: uses POST (unlike the Xero/Sage/MYOB restore endpoints which use PATCH). Idempotent.

handlers: Sage200EvolutionTaxMappingsController.restore

Inputs

namerequireddefaultdescription
id path
string
yes—Sage `idTaxRate`.

Outputs

204
empty
No content.