<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Facturia — changelog</title>
    <link>https://docs.facturia.cl/en/docs/changelog</link>
    <description>Changes to the Facturia API. /v1 evolves additively; removals get 12 months of notice.</description>
    <language>en</language>
    <atom:link href="https://docs.facturia.cl/en/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>`GET /v1/contribuyentes/{rut}`: razón social, activities and a giro that fits the factura, from the SII's public nómina</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-10-06-contribuyentes-lookup</link>
      <guid isPermaLink="false">2026-10-06-contribuyentes-lookup</guid>
      <pubDate>Tue, 06 Oct 2026 12:00:00 GMT</pubDate>
      <description>A new endpoint returns what the SII publishes about a persona jurídica — razón social and economic activities — and suggests a giro of at most 40 characters for a factura's receptor. It is for prefilling a customer before the first invoice; it is a suggestion a person confirms, never something written into a document on its own.</description>
    </item>
    <item>
      <title>A natural person as a boleta receptor: the name reaches the document</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-22-persona-natural-receptor</link>
      <guid isPermaLink="false">2026-09-22-persona-natural-receptor</guid>
      <pubDate>Wed, 23 Sep 2026 12:00:00 GMT</pubDate>
      <description>A boleta (39/41) to a person — `receptor: {rut, legal_name}`, no giro, no address — was signed with their RUT beside «Sin RUT», the anonymous consumer's literal, because the boleta lane never projected the receptor `/v1` stores. The name now reaches `&lt;RznSocRecep&gt;` and the timbre's `&lt;RSR&gt;`. `Party` documents the case, and what a nota de crédito (61) to that same person needs.</description>
    </item>
    <item>
      <title>«Already emitting with another provider?»: a declared resolución is verified when an operator confirms it, and `resolucion.verification_status` says where it stands</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-23-resolucion-verification-status</link>
      <guid isPermaLink="false">2026-09-23-resolucion-verification-status</guid>
      <pubDate>Wed, 23 Sep 2026 12:00:00 GMT</pubDate>
      <description>A resolución declared on `POST /v1/empresas` could never be verified: the check went to the SII's certification environment, was blocked there, and the block was recorded as if the SII had refused it. Verification is now ONE production timbraje that a Facturia operator confirms per empresa, and the empresa object publishes `resolucion.verification_status`: `pending_verification`, `verified` or `refused`.</description>
    </item>
    <item>
      <title>`GET /v1/folios` counts the folios you actually hold: queued ranges stop being invisible</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-10-los-folios-que-si-tienes</link>
      <guid isPermaLink="false">2026-09-10-los-folios-que-si-tienes</guid>
      <pubDate>Thu, 10 Sep 2026 12:00:00 GMT</pubDate>
      <description>`available` added up only the range the counter is currently drawing from and ignored every granted range waiting behind it. A company with CAF 6–25 sitting on folio 25 and an untouched CAF 26–45 read «1 folio available, low»; the emitter would have issued 21. The count now walks exactly the hops `allocate_dte_folio` walks, and the object carries `stock.chain` so you can see where the number comes from. `next_folio` becomes the folio the next emission really takes — the first of the queued range once the current one is spent — and it can be `null`.</description>
    </item>
    <item>
      <title>The address book: record a customer’s address once and stop typing it on every document</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-09-la-libreta-de-direcciones</link>
      <guid isPermaLink="false">2026-09-09-la-libreta-de-direcciones</guid>
      <pubDate>Wed, 09 Sep 2026 12:00:00 GMT</pubDate>
      <description>`GET` and `PATCH /v1/empresas/{empresa_id}/counterparties/{counterparty_rut}` store a counterparty’s legal name, giro and address. The SII will not file a factura whose receptor lacks them: it accepts the ENVELOPE and then refuses the DOCUMENT, with the folio already spent. Until today we could only resolve them from an earlier document to the same RUT, which by definition does not exist for the first new customer. This is the source §9.2 has published since the first draft. It outranks an earlier document and is outranked by what your own call carries.</description>
    </item>
    <item>
      <title>An empresa that already invoices with another provider stops certifying twice: state the resolución and we check it by using it</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-08-ya-emito-con-otro-proveedor</link>
      <guid isPermaLink="false">2026-09-08-ya-emito-con-otro-proveedor</guid>
      <pubDate>Tue, 08 Sep 2026 12:00:00 GMT</pubDate>
      <description>`POST /v1/empresas` and `PATCH /v1/empresas/{empresa_id}` accept `resolucion: { numero, fecha }` — the `NroResol` and `FchResol` printed on the carátula of any document your empresa already issued — and `resolucion_boletas: { fecha }` for the boleta habilitación. The empresa object publishes them back with `verified` and `verified_at`. Stating it skips no step: we check it by asking the SII for folios with that resolución, and only a granted range verifies it. If the SII refuses, the refusal arrives in the SII's own words.</description>
    </item>
    <item>
      <title>A period nobody read is not an empty period: the `sync` block speaks of the month you asked for, `POST /tax/sync` really forces, the job settles, and the MCP gets `sync_rcv`</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-08-sincronizar-el-rcv-por-periodo</link>
      <guid isPermaLink="false">2026-09-08-sincronizar-el-rcv-por-periodo</guid>
      <pubDate>Tue, 08 Sep 2026 12:00:00 GMT</pubDate>
      <description>`GET /v1/tax/sales` and `GET /v1/tax/purchases` with `period` publish a `sync` block for THE MONTH asked for — `last_synced_at: null` means "never read", not "no documents". `POST /v1/tax/sync` always reads (it used to collapse onto the daily run and answer an empty job), names the period in `result.period`, and its `job` now settles with what it found. In the MCP, `sync_rcv` asks for one period or a range of up to ten months and checks on the job.</description>
    </item>
    <item>
      <title>The MCP does everything the API does: 53 new tools, `folios:write` enters the vocabulary, and the RCV backfills twelve months on its own when a company connects</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-08-el-mcp-hace-todo-lo-que-hace-la-api</link>
      <guid isPermaLink="false">2026-09-08-el-mcp-hace-todo-lo-que-hace-la-api</guid>
      <pubDate>Tue, 08 Sep 2026 12:00:00 GMT</pubDate>
      <description>The founder's rule is now code: everything the API can do, the MCP must be able to do. The catalog grows from 35 to 88 tools — caracterización and F29 proposals, expenses and bank statements, bank connections, sending documents, credit notes, cesión, folios and CAFs (`folios:write`), acuse de recibo, account and jobs, the whole empresa object (including the resolución declaration), certification and evidence. What stays out is only the person's acts (attest/approve), key minting and webhook writes. And the daily RCV sweep now backfills the twelve previous months, once, after each empresa's first successful sync.</description>
    </item>
    <item>
      <title>A free-system empresa can issue boletas now — through our own engine, with the channel decided per type</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-boletas-por-nuestro-motor-en-el-carril-gratuito</link>
      <guid isPermaLink="false">2026-09-07-boletas-por-nuestro-motor-en-el-carril-gratuito</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>Until today an empresa with `emission_channel: "sfg"` that tried to issue a boleta got `422 tipo_not_available_for_channel`, and that read as «you cannot issue boletas on the free system». The true fact was a different one: the SII's Portal MIPYME never had a boleta form — but our engine does. The channel is now decided PER TYPE: 39 and 41 always leave through Facturia's own engine, and every other type keeps travelling the empresa's channel. What gates them is the SII's boleta habilitación, which we run end to end.</description>
    </item>
    <item>
      <title>The Python recipe we publish now generates the whole client: the `/account/*` response types are back, and so are the five schemas the generator deleted</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-el-contrato-genera-clientes-de-python</link>
      <guid isPermaLink="false">2026-09-07-el-contrato-genera-clientes-de-python</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>The 2026-09-04 audit (#476). `openapi-python-client` — the tool our own reference page tells you to run — silently discarded all five `/account/*` responses, the only one that hands over `data.api_key.secret` included, and deleted `SendJob`, `StatementImportJob`, `RcvEntry`, `RcvEntryList` and `AutomationSettings` along with two operations. `openapi-generator-cli -g python` aborted on both documents with an exception. Four shapes in the document, not limits of the generator: fixed without changing one byte of what goes over the wire.</description>
    </item>
    <item>
      <title>The catalog publishes the declaración de cumplimiento as ours, and the step table can no longer contradict it</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-el-cumplimiento-es-nuestro-en-el-catalogo</link>
      <guid isPermaLink="false">2026-09-07-el-cumplimiento-es-nuestro-en-el-catalogo</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>The 2026-09-07 audit (#555): `GET /v1/empresas/{empresa_id}/onboarding` was still publishing `cumplimiento` with `actor: customer` and a `help` saying the representante legal signs it, four days after ADR-0013 ruled that Facturia files it with the custodied certificate. The step becomes `actor: facturia` with `stall_actor: customer`, the docs table's `habilitacion` row is corrected to `facturia`, the table gains an `execution` column, and it is now diffed against the catalog row by row in the docs check.</description>
    </item>
    <item>
      <title>A running step says what the last SII read saw and when we look again; uploading the certificate can no longer end with no probe</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-un-paso-en-curso-dice-por-que</link>
      <guid isPermaLink="false">2026-09-07-un-paso-en-curso-dice-por-que</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>The 2026-09-07 audit (#558, #563). Uploading the `.pfx` within five minutes of opening the hosted page no longer swallows the verification: the upload enqueues with a key that names the credential, and the reconciler rescues any certificate with no verdict on record. And an `in_progress` step waiting on the SII now says so: `blocked_reason` with `sii_unreachable`, `sii_propagation` or `requirement_unmet`, plus `steps[].next_poll_at` with the next read.</description>
    </item>
    <item>
      <title>The intercambio and the printed samples run on the queue, and you approve the samples before they go</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-intercambio-y-muestras-los-corre-la-cola</link>
      <guid isPermaLink="false">2026-09-07-intercambio-y-muestras-los-corre-la-cola</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>The second wave of the 2026-09-06 audit (G5 and G4). The «Intercambio» step no longer needs somebody at Facturia to run a sitting: the queue downloads the set, builds and signs the three responses and uploads them. The printed samples too, with one difference: before they go we show you the PDFs and ask you to approve them, because they are the pages the SII will judge your documents on and there is no way to withdraw them. New act `muestras_revision` and new error code `muestras_approval_required`.</description>
    </item>
    <item>
      <title>`execution` stops being hand-written: every step says how it runs TODAY, and the ETA says what a sitting costs</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-execution-sigue-a-la-cerca</link>
      <guid isPermaLink="false">2026-09-07-execution-sigue-a-la-cerca</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>Closing the 2026-09-06 wave (G1–G5). `steps[].execution` is no longer a fixed map in the code: it is derived from the same environment variable the executor reads, so a step turns `automatic` the moment its fence opens in production, with no new API version. The step's `help`, its `eta_business_days` and the body's `estimated_ready_at` move with it — and while a step says `operator`, its ETA never drops below 2 business days, because a sitting is scheduled, not queued.</description>
    </item>
    <item>
      <title>Onboarding estimates stop being a decomposition of a marketing sentence and start being measurements</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-07-plazos-medidos</link>
      <guid isPermaLink="false">2026-09-07-plazos-medidos</guid>
      <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
      <description>`steps[].eta_business_days` and `estimated_ready_at` come down. The catalog's `p50_business_days` had been chosen so they would add up to «2 to 3 business days», a sentence that was already written; every number is now an observation from the certifications we have run. The mercado lane sums to 3 business days instead of 5, and the Sistema de Facturación Gratuito lane sums to 0. «Avanzar Siguiente Paso» — the click that moves a postulación out of a certification paso — also becomes a queued act behind a fence of its own, so `set_de_pruebas` and `simulacion` tell the truth about who finishes them.</description>
    </item>
    <item>
      <title>The declaración de cumplimiento is approved on a page and filed by Facturia; cesión opens to mercado empresas; retries belong to the machine</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-06-el-agente-lo-maneja-todo</link>
      <guid isPermaLink="false">2026-09-06-el-agente-lo-maneja-todo</guid>
      <pubDate>Sun, 06 Sep 2026 12:00:00 GMT</pubDate>
      <description>The «the agent drives everything» audit (`docs/audits/2026-09-06/`) and its first wave: the Declaración de Cumplimiento becomes a representante legal approval (`cumplimiento_declaracion`) that Facturia files with the custodied certificate (ADR-0013); a hand-placed empresa is offered its pending approvals; `POST /v1/documents/{id}/cede` no longer refuses mercado empresas and `cesion_channel_unsupported` is retired; dead-lettered jobs requeue themselves; an operations alert never asks the reader to do what the machine can do.</description>
    </item>
    <item>
      <title>A root key that finally inherits its reach, a sandbox that reserves no RUT, and an approval with a way back</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-05-root-sandbox-aprobacion</link>
      <guid isPermaLink="false">2026-09-05-root-sandbox-aprobacion</guid>
      <pubDate>Sat, 05 Sep 2026 12:00:00 GMT</pubDate>
      <description>Second pass of the 09-04 audit (#448): a root key minted from a session can now mint other keys, a sandbox empresa reserves nothing, the subscription is charged after eligibility and never before, a revoked mandato is read off the real wire and leaves a way back, every human act has a generic hosted door with its own record, boleta habilitación and the SII postulación both run as Facturia with the two moments the law reserves to a person, the MCP filters `tools/list` by the grant's real reach and asks consent in Spanish, `/aprobar` speaks Spanish and the agent stops guessing, and password recovery no longer needs an e-mail to us.</description>
    </item>
    <item>
      <title>CONNECT is enabled for boleta electrónica, certified from code in 33 minutes</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-04-connect-boleta-habilitada</link>
      <guid isPermaLink="false">2026-09-04-connect-boleta-habilitada</guid>
      <pubDate>Fri, 04 Sep 2026 12:00:00 GMT</pubDate>
      <description>CONNECT's boleta (39/41) test set was declared, reviewed and approved end to end by running code, not clicks: EPR 5/5, RCOF, the portal's review request resolved in 26 seconds, and the declaración de cumplimiento filed. The SII confirmed by e-mail: "habilitados los documentos de boleta electrónica a contar del 01-09-2026". Zero clicks, zero manual e-mails, 33 minutes end to end — and the portal review turned out to be automatic, in seconds, not the 10-to-15 business days an unanswered August e-mail had implied.</description>
    </item>
    <item>
      <title>Agent-first: an approval is a page, registration is one call, and the CAF stops promising what it does not keep</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-03-agente-primero</link>
      <guid isPermaLink="false">2026-09-03-agente-primero</guid>
      <pubDate>Thu, 03 Sep 2026 12:00:00 GMT</pubDate>
      <description>The #386 wave: `confirm_action` retires in favour of an `/aprobar/{id}` page (ADR-0012), registration can mint an account, a key and a sandbox empresa in one call, `puesta_en_vivo` runs on a single eligibility predicate, and the documentation goes bilingual end to end. The same week: the CAF states its own 6-month vigencia (#191), a cesión is assembled and registered natively against the SII's Registro (#60), and the printed-samples review resolves in one handshake speaking the SII's protocol in raw HTTP (#58).</description>
    </item>
    <item>
      <title>The error envelope now carries what to do, and onboarding carries who to tell</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-09-02-el-sobre-y-el-handoff</link>
      <guid isPermaLink="false">2026-09-02-el-sobre-y-el-handoff</guid>
      <pubDate>Wed, 02 Sep 2026 12:00:00 GMT</pubDate>
      <description>`hint` and `retriable` travel on every error response; onboarding publishes the full `pending_action` and a `recheck` to say a human already did their part; MCP gains `get_pending_human_action`, `get_folio_status` and honest annotations on every tool; the SII now tells us which IVA shape your empresa is in; and `/v1/cafs` actually exists.</description>
    </item>
    <item>
      <title>One plan, and a `402` at the door</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-24-un-plan-y-un-402</link>
      <guid isPermaLink="false">2026-08-24-un-plan-y-un-402</guid>
      <pubDate>Mon, 24 Aug 2026 12:00:00 GMT</pubDate>
      <description>The subscription is per empresa ($19,990 + VAT a month per RUT that issues) and it is now enforced: five real actions answer `402 subscription_required` with that empresa's `checkout_url` in `error.details`. Reads, the commercial response, filings and every bit of test mode are never blocked.</description>
    </item>
    <item>
      <title>`dispatch.dispatch_type` is now the SII's TipoDespacho</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-21-dispatch-type-tipo-despacho</link>
      <guid isPermaLink="false">2026-08-21-dispatch-type-tipo-despacho</guid>
      <pubDate>Fri, 21 Aug 2026 12:00:00 GMT</pubDate>
      <description>The field that used to describe "whose vehicle it is" never actually worked (both channels rejected it); it now means what the SII writes into `&lt;TipoDespacho&gt;`: on whose account, and to where.</description>
    </item>
    <item>
      <title>A zero-amount guía no longer goes through the SII channel</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-21-guia-sfg-monto-cero</link>
      <guid isPermaLink="false">2026-08-21-guia-sfg-monto-cero</guid>
      <pubDate>Fri, 21 Aug 2026 12:00:00 GMT</pubDate>
      <description>The SII portal rejects a guía de despacho with a $0 line — whatever the transfer class — so we now reject it at the door with `422 sfg_guia_zero_amount` instead of letting you find out on the portal. The mercado channel still accepts it.</description>
    </item>
    <item>
      <title>Cedibility you can query, a guía on both channels, and public links only when minted</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-19-cesion-guia-mercado-y-enlaces</link>
      <guid isPermaLink="false">2026-08-19-cesion-guia-mercado-y-enlaces</guid>
      <pubDate>Wed, 19 Aug 2026 12:00:00 GMT</pubDate>
      <description>New `POST /documents/{document_id}/cesion` asks the SII whether a factura is cedible and the document gains a `cesion` object; type 52 now also issues over the mercado channel; and the document object's `pdf_public_url`/`xml_public_url` fields — which never worked — are retired: the URL carrying the secret is handed out exactly once, when it is minted.</description>
    </item>
    <item>
      <title>The cedible copy, on by default, and shareable</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-16-cedible-de-verdad</link>
      <guid isPermaLink="false">2026-08-16-cedible-de-verdad</guid>
      <pubDate>Sun, 16 Aug 2026 12:00:00 GMT</pubDate>
      <description>`pdf.cedible` at issuance now actually decides something, `branding.cedible_by_default` is enforced, and a public link can now name the cedible copy — not only the original.</description>
    </item>
    <item>
      <title>What was published and did not exist</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-15-contratos-cumplidos</link>
      <guid isPermaLink="false">2026-08-15-contratos-cumplidos</guid>
      <pubDate>Sat, 15 Aug 2026 12:00:00 GMT</pubDate>
      <description>Nine promises the contract made that the code did not keep: two retired parameters, two that now actually work, and one endpoint that had been answering 404 for months.</description>
    </item>
    <item>
      <title>v1 — the published surface</title>
      <link>https://docs.facturia.cl/en/docs/changelog#2026-08-14-v1</link>
      <guid isPermaLink="false">2026-08-14-v1</guid>
      <pubDate>Fri, 14 Aug 2026 12:00:00 GMT</pubDate>
      <description>The changelog's first entry: what /v1 contains on the day this site is published.</description>
    </item>
  </channel>
</rss>
