line_discount_not_available_for_channel
Mandaste `items[].discount_percent` en una empresa con `emission_channel=sfg`.
Mandaste items[].discount_percent en una empresa con emission_channel=sfg.
| Código | line_discount_not_available_for_channel |
| Tipo | unprocessable_error — Bien formado, pero viola una regla del dominio |
| HTTP | 422 |
| ¿Reintentable? | No |
Qué hacer
El formulario de emisión del portal del SII no tiene ningún campo de descuento por línea que hayamos capturado nunca — el formulario capturado tiene sus entradas de descuento comentadas. Aceptarlo te cotizaría un total con descuento y emitiría el documento sin él, así que se rechaza en vez de descartarse en silencio. Métele el descuento al items[].unit_price, o emite por emission_channel=mercado, cuyo motor escribe el <DescuentoPct> del SII. global_discounts se rechaza en este canal por la misma razón. Un 0 sí se acepta: es exactamente lo que el portal emitiría.
Reintentar el mismo request va a fallar igual. Cambia el request, no la frecuencia.
El sobre
{
"error": {
"type": "unprocessable_error",
"code": "line_discount_not_available_for_channel",
"message": "…",
"hint": "The SII portal’s emission form has no per-line discount field we have ever captured — the captured form comments its discount inputs out. Accepting the field 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 `<DescuentoPct>`. `global_discounts` is refused on this channel for the same reason.",
"retriable": false,
"doc_url": "https://docs.facturia.cl/errors/line_discount_not_available_for_channel",
"request_id": "req_01K2R7Q9M4T2VB"
}
}Programa contra code, nunca contra message — la prosa se puede reescribir, el código no (§5.8).
hint y retriable llegan en la respuesta, con estos mismos valores: son función del code y salen del mismo diccionario que sirve GET /v1/error_codes, así que el sobre y el diccionario no pueden discrepar. hint va en inglés a propósito — el español de este código es esta ficha. Más en El sobre de error.
También
Todos los códigos
El sobre de error
La copia legible por máquina de esta ficha vive en GET /v1/error_codes, sin autenticación.