Caracterización
La escritura que decide si el IVA de una compra es recuperable, de uso común o no recuperable — y por qué hacerla por API es una ventaja real.
La caracterización del RCV decide cómo aterriza una compra en tu F29: si su IVA es recuperable, de uso compartido, o no recuperable del todo. Es una escritura contra el registro del SII, y es una de las pocas acciones tributarias donde ser programático es una ventaja genuina — el software contable sabe la respuesta, una persona haciendo clic en una grilla de portal no.
Una entrada
curl -X POST https://api.facturia.cl/v1/tax/purchases/rcv_01K2RB7Q2M4X/characterize \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
-d '{"tipo_compra":"activo_fijo"}'En bloque
Hasta 500 entradas por llamada.
curl -X POST https://api.facturia.cl/v1/tax/purchases/characterize \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
-d '{
"entries": [
{ "id": "rcv_01K2RB7Q2M4X", "tipo_compra": "del_giro" },
{ "id": "rcv_01K2RB8W1N7Y", "tipo_compra": "iva_uso_comun" },
{ "id": "rcv_01K2RB9E5P2Z", "tipo_compra": "no_recuperable", "iva_no_recuperable_code": 3 }
]
}'Los cinco valores
tipo_compra | Significado |
|---|---|
del_giro | Compra ordinaria del negocio; IVA totalmente recuperable |
supermercado | Supermercado o similar, con sus límites legales |
activo_fijo | Activo fijo |
iva_uso_comun | Uso compartido entre actividad afecta y exenta; crédito proporcional |
no_recuperable | IVA no recuperable; iva_no_recuperable_code dice por qué |
iva_no_recuperable_code es obligatorio cuando tipo_compra es no_recuperable.
Estado contable
También puedes mover una entrada entre REGISTRO, PENDIENTE y NO_INCLUIR:
curl -X POST https://api.facturia.cl/v1/tax/purchases/rcv_01K2RB7Q2M4X/estado_contable \
-H "Authorization: Bearer $FACTURIA_KEY" -H "Facturia-Empresa: $EMPRESA" \
-H "Content-Type: application/json" \
-d '{"estado_contable":"NO_INCLUIR"}'Trampa
Caracterizar invalida la propuesta de F29 del período
Cambiar la caracterización recalcula la propuesta de ese período y dispara
tax.f29.proposal.updated. Si tu flujo era «leer propuesta → mostrar → declarar», y en el medio
alguien caracterizó, el confirm_total_payable que tenías en pantalla ya no coincide y la
declaración va a fallar con 422 f29_amount_confirmation_mismatch.
Eso no es un bug: es la barrera funcionando. Vuelve a leer la propuesta antes de declarar.
Por qué esto importa más de lo que parece
Las entradas mal caracterizadas o en PENDIENTE son la causa número uno de que una propuesta de F29
no cuadre con lo que espera el contador. La propuesta las reporta explícitamente en
observations[]:
"observations": [
{ "code": "rcv_pendientes", "severity": "warning", "message": "3 documentos de compra están en estado PENDIENTE y no fueron considerados.", "entry_ids": ["rcv_...", "rcv_...", "rcv_..."] }
]Y el detector de sugerencias levanta un missing_characterization cuando una entrada va a distorsionar
el F29. Ver Tipo 46 y sugerencias.