global_discount_not_available_for_channel
`global_discounts` was sent on an `emission_channel=sfg` empresa.
global_discounts was sent on an emission_channel=sfg empresa.
| Code | global_discount_not_available_for_channel |
| Type | unprocessable_error — Well formed, but breaks a domain rule |
| HTTP | 422 |
| Retriable? | No |
What to do
The SII portal’s emission form has no global-discount field: its EFXP_PCT_DESC/EFXP_MNT_DESC inputs are commented out in the captured form. Accepting it would quote you a discounted total and file the undiscounted one, so it is refused rather than silently dropped. Fold the discount into items[].unit_price, or emit through emission_channel=mercado, whose engine writes the SII’s <DscRcgGlobal>. items[].discount_percent is refused on this channel for the same reason.
Retrying the same request will fail the same way. Change the request, not the frequency.
The envelope
{
"error": {
"type": "unprocessable_error",
"code": "global_discount_not_available_for_channel",
"message": "…",
"hint": "The SII portal’s emission form has no global-discount field: its `EFXP_PCT_DESC`/`EFXP_MNT_DESC` inputs are commented out in the captured form. Accepting it would quote you a discounted total and file the undiscounted one, so it is refused rather than silently dropped. Fold the discount into `items[].unit_price`, or emit through `emission_channel=mercado`, whose engine writes the SII’s `<DscRcgGlobal>`. `items[].discount_percent` is refused on this channel for the same reason.",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/global_discount_not_available_for_channel",
"request_id": "req_01K2R7Q9M4T2VB"
}
}Program against code, never against message — the prose can be rewritten, the code cannot (§5.8).
hint and retriable arrive in the response with these exact values: they are a function of code and come from the same dictionary GET /v1/error_codes serves, so the envelope and the dictionary cannot disagree. Both are English on the wire by design — one registry, one language. More in The error envelope.
See also
Every code
The error envelope
The machine-readable copy of this page lives at GET /v1/error_codes, unauthenticated.