Classifica els moviments amb un LLM

Aquesta pàgina tracta el flux de treball de classificació assistida per LLM: configurar un proveïdor, previsualitzar un suggeriment per a un moviment, el bucle de revisió (aplicar, rebutjar o sobreescriure), saturar els camps fiscals d’IVA i llegir una factura adjunta amb un model, a la teva pròpia màquina o, amb consentiment explícit, mitjançant un proveïdor al núvol. El suggeriment sempre és un punt de partida: el confirmes o el corregeixes, i el model mai no estableix cap import en euros.

La classificació no contacta amb l’AEAT i no envia res. La CLI del proveïdor pot contactar amb el seu propi servei extern segons la configuració del proveïdor; consulta el límit de privadesa abans d’utilitzar dades reals de contribuent.

Les ordres d’LLM i de visió d’aquesta pàgina necessiten una CLI de proveïdor o un model de visió local que l’entorn de proves de la documentació no executa, de manera que es mostren com a marcs de només visualització. Les ordres locals que les envolten s’executen en directe en el moment de la compilació.

Abans de començar

Necessita:

El runtime emet l’ajuda, els avisos i els missatges en castellà.

Configura un proveïdor

aeat no emmagatzema credencials d’LLM i no té cap configuració de compte d’LLM separada. Executa una CLI de proveïdor que ja està instal·lada i autenticada al teu sistema. L’ordre de classificació accepta noms de proveïdor com ara claude, antigravity i codex; antigravity utilitza la CLI agy de Google, el successor admès de la CLI autònoma gemini, ja retirada.

Comproveu quines CLI de proveïdors són visibles a PATH amb aeat config check. Mostra cada proveïdor com a disponible o ausente amb la solució per a cada problema, al costat de les capacitats del servei de perfil. Això només informa de la detecció, no de l’inici de sessió del compte. El lector de visió local també hi apareix: mostra ausente fins que l’entorn d’execució respon. aeat config provision status informa amb detall de l’entorn d’execució i de cada model lector.

Instal·la i autentica el proveïdor amb la seva pròpia CLI o flux de compte. L’ordre d’inici de sessió i la configuració de retenció de dades pertanyen al proveïdor, no a aeat. Després fes una prova ràpida amb una previsualització, que no desa res:

1Smoke-test the provider with a preview that saves nothing.
aeat app ledger classify <transaction-id> --llm claude
aeat app ledger classify <transaction-id> --llm claude

Un proveïdor amb la sessió tancada fa que l’ordre es negui i transmeti l’error propi del proveïdor (per exemple La clasificacion por LLM fallo: claude CLI exited with 1: 'Not logged in ...'). Completa l’inici de sessió d’aquell proveïdor i torna-ho a provar.

Demana un suggeriment

Troba una fila que encara necessiti classificació i inspecciona-la. Després envia aquella fila al proveïdor per a una previsualització:

1Find a row that still needs classification.
aeat app ledger list --filter classification=NOT_YET_PROCESSED
aeat app ledger list --filter classification=NOT_YET_PROCESSED
ACCOUNTING LEDGER TRANSACTIONS
id	full_id	date	amount	description	IVA category	review_status
71a5db2b	71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518	2026-02-10	1210	Cobro factura F-2026-001 servicios de consultoria		pending
e3eeac5e	e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d	2026-02-11	605	Compra de material de oficina proveedor local		pending
2Inspect the row before previewing.
aeat --format json app ledger view e3eeac5e
aeat --format json app ledger view e3eeac5e
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.view",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "NOT_YET_PROCESSED",
      "business_pct": null,
      "category_id": null,
      "classification_confidence": null,
      "classification_reason": "",
      "classified_at": null,
      "classified_by": "auto",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-11",
      "description": "Compra de material de oficina proveedor local",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": null,
      "iva_category": null,
      "iva_rate": null,
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": null,
      "taxable_base": null,
      "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
      "usage_ratio_id": null,
      "value_date": "2026-02-11",
      "value_in_eur": null
    },
    "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the unclassified row is ready to send for a suggestion.

3Preview a suggestion for that one row.
aeat app ledger classify e3eeac5e --llm claude
aeat app ledger classify e3eeac5e --llm claude

aeat envia aquella fila a la CLI del proveïdor seleccionat, que suggereix una classificació (BUSINESS, PERSONAL o MIXED), una categoria de despesa quan en pot triar una de la llista permesa, una confiança i una raó breu. En mode de previsualització no es desa res. Per obtenir el registre complet llegible per màquina, inclosos els camps provenance (llm:<provider>) i persisted, posa l’indicador JSON global abans de la subordre:

1Preview with machine-readable output.
aeat --format json app ledger classify <transaction-id> --llm claude
aeat --format json app ledger classify <transaction-id> --llm claude

Utilitza la descripció, l’import, la direcció, la contrapart i els documents font de la fila per decidir si el suggeriment té sentit. Per als conceptes manuals subjacents, consulta Classifica els moviments.

Revisa, aplica, rebutja o sobreescriu

El bucle de revisió té quatre terminals:

  • Revisar. Previsualitza sense --apply. No es desa res; si marxes, la fila queda inalterada.

  • Aplicar. Persisteix el suggeriment després de revisar-lo. La sortida d’aplicar mostra l’id del moviment, clasificado-por llm:<provider> i el nou estat de revisió; la procedència, la confiança i la raó es registren amb l’esdeveniment de classificació.

  • Rebutjar. Registra que el model s’equivocava, amb la teva raó, com a esdeveniment d’auditoria; la fila queda sense classificar i el registre resta a l’historial. --reject no es pot combinar amb --apply. Previsualitzar i marxar tampoc no canvia res, però --reject és el que escriu el rastre d’auditoria.

  • Sobreescriure. Classifica manualment sempre que el suggeriment sigui incorrecte o incomplet. La classificació manual sempre guanya i preval sobre un valor derivat o aplicat pel model.

Aplicar i rebutjar executen tots dos el proveïdor, de manera que es mostren com a marcs de només visualització:

1Apply persists the reviewed suggestion.
aeat app ledger classify <transaction-id> --llm claude --apply
aeat app ledger classify <transaction-id> --llm claude --apply
2Reject records the model as wrong, with your reason, in history.
aeat app ledger classify <transaction-id> --llm claude --reject --reason \
  this is personal
aeat app ledger classify <transaction-id> --llm claude --reject --reason `
  this is personal

Sobreescriure s’executa completament a la teva màquina. Classifica la fila a mà amb la classificació i la categoria que tries:

1Classify the row manually; a manual decision always wins.
aeat --format json app ledger classify e3eeac5e --classification BUSINESS --category-id \
  material_oficina
aeat --format json app ledger classify e3eeac5e --classification BUSINESS --category-id `
  material_oficina
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.classify",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "cf03296ca740dd5d6130ecd3349d24ea25d09a125819597f400d0489945da3ab"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": "material_oficina",
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger classify",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "manual",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-11",
      "description": "Compra de material de oficina proveedor local",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": null,
      "iva_category": null,
      "iva_rate": null,
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": null,
      "taxable_base": null,
      "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
      "usage_ratio_id": null,
      "value_date": "2026-02-11",
      "value_in_eur": null
    },
    "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the manual override classifies the row.

Si la fila és d’ús mixt, el suggeriment de l’LLM per si sol no n’hi ha prou; proporciona la proporció de negoci mitjançant el flux de treball d’ús mixt habitual. Després de correccions importants, torna a executar el preflight per al període:

1Re-run the period preflight after important corrections.
aeat --format json app ledger preflight --year 2026 --period 1T
aeat --format json app ledger preflight --year 2026 --period 1T
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.preflight",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "checked_transaction_count": 2,
    "issues": [],
    "period": {
      "code": "1T",
      "filing_year": 2026
    },
    "ready": true
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the period preflight reads ready after corrections.

Emplena els camps fiscals automàticament

Un suggeriment aplicat sense més desa la classificació i la categoria de despesa; no emplena els camps fiscals regulats. Afegeix --saturate per seleccionar també una categoria d’IVA i derivar la base imposable, el tipus d’IVA i l’import d’IVA. El model mai no inventa cap número: només selecciona la categoria d’IVA; el tipus prové del registre, i la base i l’import d’IVA es calculen a partir del total del moviment:

1Preview a suggestion that also selects the IVA category.
aeat app ledger classify <transaction-id> --llm claude --saturate
aeat app ledger classify <transaction-id> --llm claude --saturate
2Apply the saturated suggestion.
aeat app ledger classify <transaction-id> --llm claude --saturate --apply
aeat app ledger classify <transaction-id> --llm claude --saturate --apply

La previsualització afegeix la categoria d’IVA seleccionada i, quan la categoria té un tipus espanyol, les xifres derivades; la base i l’IVA sempre sumen el total del moviment. Una categoria sense un tipus espanyol simple (una entrega intracomunitària, una compra amb inversió del subjecte passiu) mostra una nota en lloc de números, i les completes a mà. El model també pot declinar i retornar unknown en lloc d’endevinar; torna-ho a executar o tria tu mateix la categoria.

Quan ja coneixes la categoria d’IVA, o el model ha retornat unknown, classifica primer la fila com a negoci i després deixa que el sistema derivi els números sense cap --llm. Això deriva les xifres del tipus oficial exactament com ho fa la via del model i les registra com a derivades pel sistema. Només toca els camps d’IVA, i la fila ja ha d’estar classificada com a negoci o mixta:

1Derive the IVA fields from the official rate, without a provider.
aeat --format json app ledger classify e3eeac5e --iva-category domestic_general \
  --saturate
aeat --format json app ledger classify e3eeac5e --iva-category domestic_general `
  --saturate
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.classify",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "61e7203679a2689c9a11cf6a24ddaa370cfcbd16cad1a677ef3aa2dc14e52433",
      "017f5fb8270351a164fc4a36993989c06504305ae5dcf0d07335084d30267c75"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": "material_oficina",
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger classify --iva-category --saturate",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "derived:iva-category",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-02-11",
      "description": "Compra de material de oficina proveedor local",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": "105",
      "iva_category": "domestic_general",
      "iva_rate": "0.21",
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": null,
      "taxable_base": "500",
      "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
      "usage_ratio_id": null,
      "value_date": "2026-02-11",
      "value_in_eur": null
    },
    "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the derived IVA fields land without any provider.

Per sobreescriure qualsevol camp a mà, classifica manualment amb les xifres tu mateix. La base imposable més l’IVA ha de ser igual al total del moviment fins al cèntim:

1Classify manually with the reduced-rate IVA figures.
aeat --format json app ledger classify {transaction_id} --classification BUSINESS \
  --iva-category domestic_reduced --taxable-base 110.00 --iva-rate 0.10 --iva-amount \
  11.00
aeat --format json app ledger classify {transaction_id} --classification BUSINESS `
  --iva-category domestic_reduced --taxable-base 110.00 --iva-rate 0.10 --iva-amount `
  11.00
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.classify",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "4709827e7a2d385fce18501344d5594c060f64e17ce7aefa6b7aa52adbb1a268",
      "2e292ca6b3c73c0340365ffeadcb123a7e8b8993a025610e198a38e59902c2d9"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "121",
      "attachment_ids": [],
      "booked_date": "2026-03-10",
      "business_classification": "BUSINESS",
      "business_pct": null,
      "category_id": null,
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger classify",
      "classified_at": "2026-04-01T09:00:00+00:00",
      "classified_by": "manual",
      "counterparty": "",
      "counterparty_country": null,
      "counterparty_identification_state": null,
      "created_at": "2026-04-01T09:00:00+00:00",
      "currency": "EUR",
      "date": "2026-03-10",
      "description": "Compra tipo reducido",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": "11",
      "iva_category": "domestic_reduced",
      "iva_rate": "0.1",
      "lifecycle_state": "ACTIVE",
      "m210_income_classification": null,
      "modified_at": "2026-04-01T09:00:00+00:00",
      "notes": "",
      "prorrata_reference": null,
      "purchase_invoice_evidence_id": null,
      "source_jurisdiction": "ES",
      "taxable_base": "110",
      "transaction_id": "b0a6349c28d268e65a577b9709ab304661cd8f8a3f29a7acd5527adfd1f8740c",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "b0a6349c28d268e65a577b9709ab304661cd8f8a3f29a7acd5527adfd1f8740c"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the hand-entered IVA figures land on the row.

La categoria d’IRPF encara s’introdueix manualment a Classifica els moviments. Utilitza Revisa i proporciona les dades de càlcul quan un model informi més endavant de valors que falten.

Llegeix la factura adjunta

Adjunta una factura de compra o un rebut a un moviment (consulta Adjunta factures i rebuts) i, tot seguit, deixa que el model la llegeixi mentre classifica amb --read-evidence. El model tria la categoria de despesa i la situació d’IVA a partir del que llegeix; aeat deriva del registre cada import en euros. Com es llegeix el document depèn del fitxer:

  • Un PDF escanejat o una imatge el llegeix a la teva pròpia màquina un model de visió local. No surt res de la màquina, no cal cap reconeixement, no cal cap proveïdor --llm i funciona en desplegaments de gestor i professionals.

  • Un PDF amb capa de text té el seu text extret i enviat a un proveïdor al núvol (els mateixos proveïdors --llm). Això envia el text fora de la teva màquina, de manera que està desactivat per defecte, barrat per als desplegaments de gestor i condicionat a un reconeixement explícit per execució.

Preferiu la via local a l’equip. Proveïu primer l’entorn d’execució local: instal·leu-lo amb aeat config provision install, inicieu-lo amb aeat config provision start i descarregueu el model de visió amb aeat config provision pull, limitat al rol de visió amb --role. Consulteu Configurar una estació de treball per veure la seqüència completa.

El model de visió predeterminat, qwen3-vl:2b, ocupa uns 2 GB i funciona en una GPU de consum o en CPU. Per fer servir un model més gran en una GPU amb prou espai, indiqueu-lo amb l’opció --model de l’ordre de descàrrega. Després classifiqueu a partir de la imatge adjunta, amb una previsualització primer. Anul·leu el model de visió per a una sola execució amb --vision-model qwen2.5vl:7b:

1Preview the on-host read of the attached image.
aeat app ledger classify <transaction-id> --read-evidence --saturate
aeat app ledger classify <transaction-id> --read-evidence --saturate
2Apply the on-host read.
aeat app ledger classify <transaction-id> --read-evidence --saturate --apply
aeat app ledger classify <transaction-id> --read-evidence --saturate --apply

Les evidències es llegeixen només a l’equip. No hi ha cap ruta que enviï una factura fora de la màquina: una transacció sense evidència adjunta tampoc no envia res addicional, de manera que el proveïdor rep únicament la fila de la transacció, igual que en el flux de suggeriment simple.

Divideix una factura de múltiples línies automàticament

Quan el model llegeix una factura amb diverses línies a tipus o categories diferents, la previsualització afegeix una nota split recommended amb l’ordre exacta per separar-les. Cada línia ha d’esdevenir la seva pròpia entrada perquè el seu IVA deduïble i la despesa segons el tipus base es presentin de manera independent. Per actuar-hi en un sol pas, afegeix --auto-split. --auto-split requereix --read-evidence i no es pot combinar amb els indicadors de sobreescriptura manual:

1Preview one child transaction per invoice line.
aeat app ledger classify <transaction-id> --read-evidence --auto-split
aeat app ledger classify <transaction-id> --read-evidence --auto-split
2Apply the split, one entry per line.
aeat app ledger classify <transaction-id> --read-evidence --auto-split --apply
aeat app ledger classify <transaction-id> --read-evidence --auto-split --apply

Una factura de múltiples línies previsualitza un moviment fill per línia, cadascun amb la seva pròpia categoria, categoria d’IVA i base i IVA derivats del registre; els fills sumen exactament l’import original. Una factura d’una sola línia es classifica al mateix lloc sense divisió.

Com protegeix aeat els documents que llegeix

  • Els bytes de la factura viuen només en emmagatzematge segur xifrat. La lectura els desxifra a la memòria per a l’única crida i mai no els escriu en un fitxer temporal, un registre ni una memòria cau.

  • Una lectura escanejada o d’imatge envia la imatge només al model local mitjançant una connexió de loopback a la teva màquina. No surt res de la màquina.

  • Una lectura amb capa de text envia només el text extret, i només a un proveïdor al núvol que hagis permès i reconegut explícitament. Mai no envia els bytes del PDF.

  • El model selecciona només la classificació, la categoria, la categoria d’IVA i una proporció de divisió. aeat deriva del registre cada tipus, base i import d’IVA, i es nega a persistir un resultat les parts del qual no quadren. Quan l’IVA imprès no coincideix amb l’IVA calculat, la revisió mostra un avís perquè puguis comprovar-ho abans de presentar.

Configuració de desplegament de l’evidència

El consentiment i la configuració del model són configuració de desplegament, desactivats per defecte i administrats fora d’aquest flux de treball. La llista completa és a la referència de sobreescriptures d’entorn.

Consulta com s’ha produït cada suggeriment

Cada resultat aplicat registra com s’ha produït, de manera que una revisió posterior mostra la font:

  • llm:local-vision:<model>: llegit a la mateixa màquina pel model de visió local.

  • llm:<provider>:<model>: classificat per un proveïdor al núvol.

  • derived:iva-category: has triat la categoria d’IVA i aeat ha derivat la resta.

  • manual: has establert la classificació a mà.

Inspecciona un moviment i el seu historial en qualsevol moment:

1Inspect the transaction.
aeat app ledger view e3eeac5e
aeat app ledger view e3eeac5e
ID	e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d
Date	2026-02-11
Value date	2026-02-11
Amount	605
Currency	EUR
Direction	OUTGOING
Description	Compra de material de oficina proveedor local
Counterparty	-
Classification	NOT_YET_PROCESSED
Business %	-
Category	-
Usage ratio id	-
Taxable base	-
IVA rate	-
IVA amount	-
IVA category	-
Established in	-
VAT identified in	-
IRPF category	-
Notes	-
Purchase invoice evidence	-
Attachments	-
Lifecycle state	ACTIVE
Classified by	auto
Classified at	-
Classification confidence	-
Classification reason	-
Review status	pending
2Read the transaction's history.
aeat --format json app ledger history e3eeac5e
aeat --format json app ledger history e3eeac5e
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.history",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "event_count": 1,
    "events": [
      {
        "actor": "<profile-id>",
        "bucket_id": "<bucket-id>",
        "event_id": "216049abc14de7287f01ae4f31b75e164a3ae520c7ae88ea7bc6b9ac017cef30",
        "event_type": "ledger.transaction.imported",
        "object_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "object_type": "ledger_transaction",
        "occurred_at": "2026-04-01T09:00:00Z",
        "payload": {
          "import_batch_id": "644ceb0a0aa9829b9cd0bf4d3a2ba43ce73f7ab6b333d46776496818650a0816",
          "imported_count": "2",
          "provider_name": "CSV provider",
          "skipped_count": "0",
          "source_command": "aeat app ledger import",
          "source_format": "csv",
          "source_row_index": "3"
        },
        "payload_version": 1
      }
    ],
    "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the transaction's history records its events.

Límits i alternatives per lots

La ruta amb LLM funciona només amb una transacció; no es pot combinar amb --file ni amb indicadors manuals --classification. Per a treball per lots feu servir la ruta manual basada en CSV (aeat app ledger classify --file ./classifications.csv) o regles deterministes desades (aeat app ledger rule add, després rule apply --dry-run i tot seguit rule apply); totes dues s’expliquen a Classificar transaccions.

Límit de privadesa

La classificació per LLM crida la CLI del proveïdor seleccionat a la teva màquina. Aquesta CLI pot enviar dades del prompt al servei al núvol del proveïdor, segons com funcioni aquell proveïdor i com estigui configurat el teu compte. Tracta les descripcions de moviments, les contraparts, els imports, les categories i qualsevol context de perfil del prompt com a dades de contribuent. No utilitzis dades de producció amb un proveïdor d’LLM tret que la configuració del teu proveïdor i la política de privadesa ho permetin.

Passos següents