Tranzakciók osztályozása

Ez az oldal a ledger-tranzakciók osztályozását tárgyalja: annak eldöntését, hogy egy sor üzleti, személyes vagy vegyes, a számításhoz szükséges kategória- és adómezők hozzáadását, a vegyes használatú arányok rögzítését, a kötegelt és szabályalapú osztályozást, valamint az ellenőrzési sort, amely felsorol mindent, ami még döntésre vár. Akkor használja, miután a tranzakciók bekerültek az aktív profil ledgerébe - az importált soroknak van dátumuk és összegük, de még nem mondják meg, hogyan kezelje őket az adószámítás.

Egy tranzakció osztályozása csak a számítógépén lévő nyilvántartást változtatja meg. Semmit sem küld a spanyol Adóhivatalnak (AEAT).

Mielőtt hozzákezd

Szüksége lesz a következőkre:

  • Egy aktív adózói profil. Az alábbi minden parancs az aktív profilon dolgozik; ha nincs beállítva, a parancs elutasítja a műveletet. Lásd Az adózói profil beállítása.

  • Egy mesterkulcs-jelmondat. Az eszköz akkor kéri be, amikor egy munkamenetben először nyitja meg a titkosított tárolóját.

  • Egy ledger, amelyben tranzakciók vannak. Lásd Tranzakciók importálása és kezelése egy bankszámlakivonat importálásához vagy sorok kézi hozzáadásához.

A CLI súgója és hibaszövege spanyolul jelenik meg, még akkor is, ha ez az útmutató angolul van. Amikor egy lépés a --help-hez irányítja, számítson spanyol nyelvű kapcsolónevekre.

Először tekintse át a sort

Keresse meg a tranzakcióazonosítót, majd vizsgálja meg a sort, mielőtt osztályozza. A sorozat importálja a szokásos negyedévet, és megvizsgálja az osztályozatlan kiadást:

1List the rows that still need a decision.
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 changing it.
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 row is still unclassified before you decide.

A sor osztályozásának eldöntéséhez használja a leírást, az összeget, a partnert, a forrásdokumentumot és az üzleti környezetet.

Válassza ki az osztályozást

Használja a ledger-osztályozási állapotok egyikét, amelyet a parancs súgója elfogad:

  • BUSINESS egy teljesen üzlethez kapcsolódó tranzakcióhoz

  • PERSONAL egy személyes tranzakcióhoz, amely nem táplálhatja az adószámításokat

  • MIXED egy részben üzleti, részben személyes tranzakcióhoz

Csak ezt a három értéket használja. A többit a Cadrumo automatikusan beállítja.

Válasszon kategóriát a kiadásokhoz

Listázza az elfogadott kategóriaazonosítókat, majd osztályozzon egy kiadássort az egyikkel. A kiadássoroknak általában szükségük van egy kategóriaazonosítóra, mielőtt egy modelo számolhatna belőlük:

1List the accepted category ids.
aeat app ledger categories
aeat app ledger categories
RECOGNISED LEDGER SPENDING CATEGORIES
category-id (pass this exact value)	family
cuotas_colegiales	social_security
cuotas_autonomos_ss	social_security
mutualidad_alternativa	social_security
arrendamiento_local	premises
ibi_local_afecto	premises
suministros_local_afecto	premises
suministros_home_office_luz	home_office_suministros
suministros_home_office_agua	home_office_suministros
suministros_home_office_gas	home_office_suministros
suministros_home_office_internet	home_office_suministros
telefonia_fija	home_office_suministros
amortizacion_vivienda_afecto	home_office_ownership
ibi_vivienda_afecto	home_office_ownership
comunidad_vivienda_afecto	home_office_ownership
arrendamiento_vivienda_afecto	home_office_ownership
telefonia_movil	telecoms
material_oficina	office
software_suscripcion	office
hardware_amortizable	office
mobiliario_amortizable	office
reparaciones_conservacion	office
publicidad_marketing	office
formacion_profesional	office
vehiculo_combustible	vehicle
vehiculo_mantenimiento	vehicle
vehiculo_seguro	vehicle
vehiculo_peaje	vehicle
vehiculo_parking	vehicle
manutencion_dietas_nacional	meals
manutencion_dietas_extranjero	meals
asesoria_fiscal	professional_services
asesoria_juridica	professional_services
asesoria_contable	professional_services
viajes_transporte	travel
viajes_alojamiento	travel
seguros_responsabilidad_civil	insurance
seguros_salud_autonomo	insurance
gastos_bancarios	financial
gastos_financieros	financial
suministros_cliente_directos	direct_costs
subcontratacion	direct_costs
tributos_fiscalmente_deducibles	taxes
Pass the bare id, e.g. --category-id cuotas_colegiales (not a family-prefixed or compound key).
Deductible expenses only. Income (INCOMING) transactions are classified by direction and need no --category-id; `ledger check` and `ledger preflight` do not flag income as missing_category.

IRPF CATEGORIES FOR --irpf-category
irpf-category (pass this exact value)	use
actividad_economica	professional activity withholding (received or paid net)
arrendamiento_local	net-paid rent expense withholding
arrendamiento_vivienda_afecto	net-paid rent expense withholding
trabajo	employment income (not for net-paid invoices)
Net-paid rent example: --category-id arrendamiento_local --irpf-category arrendamiento_local. Net-paid professional service: --category-id asesoria_fiscal --irpf-category actividad_economica.
2Classify the expense as business with a category.
aeat app ledger classify e3eeac5e --classification BUSINESS --category-id \
  material_oficina
aeat app ledger classify e3eeac5e --classification BUSINESS --category-id `
  material_oficina
ID	e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d
Date	2026-02-11
Amount	605
Description	Compra de material de oficina proveedor local
Review status	reviewed
3Confirm the row now carries the business classification and category.
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": "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 expense is classified as business with a category.

A kapott pénzhez (bevétel) a Cadrumónak általában nincs szüksége kategóriára. A bevételi összegeket automatikusan kiszámítja.

Használja az OUTGOING-ot plusz egy kiadáskategóriát a beszállítói beszerzésekhez és más levonható kiadásokhoz. Használja az INCOMING-ot a kiállított számlákhoz, ügyfélkifizetésekhez vagy a vevőknek nyújtott szolgáltatásokhoz. Ha a számlanyilvántartásokat külön is nyomon követi, használja az aeat app ledger invoice parancsot a --kind received kapcsolóval a beszállítói számlákhoz és a --kind issued kapcsolóval a vevői számlákhoz.

Adjon hozzá adómezőket, amikor szükséges

Ha egy sornak szabályozott adómezőkre van szüksége, csak a vonatkozó mezőket adja hozzá. A sorozat osztályozza a kiadást az adóalapjával, adókulcsával és IVA-összegével:

1Classify the expense with the IVA breakdown from the invoice.
aeat app ledger classify e3eeac5e --classification BUSINESS --category-id \
  material_oficina --taxable-base 500.00 --iva-rate 0.21 --iva-amount 105.00
aeat app ledger classify e3eeac5e --classification BUSINESS --category-id `
  material_oficina --taxable-base 500.00 --iva-rate 0.21 --iva-amount 105.00
ID	e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d
Date	2026-02-11
Amount	605
Description	Compra de material de oficina proveedor local
Review status	reviewed
2Confirm the taxable base and IVA fields were recorded.
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": "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": "105",
      "iva_category": null,
      "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 taxable base and IVA fields were recorded on the row.

A gyakori mezők közé tartozik az adóalap, az IVA-kulcs, az IVA-összeg, az IVA-kategória, az IRPF-kategória és a partner EU-tagállama a közösségen belüli IVA-esetekhez. A pontos, aktuális kapcsolólistáért használja az aeat app ledger classify --help parancsot.

A szokásos belföldi IVA-hoz használja a számlán feltüntetett adóalapot, kulcsot és összeget. Például egy 121,00 EUR-s, 21 százalékos IVA-t tartalmazó beszerzésnél általában --taxable-base 100.00 --iva-rate 0.21 --iva-amount 21.00 szerepel.

A legtöbb, a szokásos 21%-os kulccsal terhelt beszerzéshez nincs szükség --iva-category-ra. Csak különleges esetekhez adja hozzá: kedvezményes kulcs (élelmiszer, könyv), adómentes termékértékesítés, EU-s beszállítóktól való beszerzés vagy recargo de equivalencia. Az elfogadott értékek megtekintéséhez futtassa az aeat app ledger classify --help parancsot.

Vegyes használatú tranzakciók osztályozása

A vegyes használatú tranzakció olyan, amelyet részben üzleti, részben személyes célra használ, például egy telefonszámla, egy autóköltség vagy egy otthoni iroda kiadása. Rögzítse az üzleti arányt, hogy a számítás csak a levonható részt vegye figyelembe. A megosztás három helyről származhat, a megalapozottság növekvő sorrendjében: egy százalék egyetlen nyilvántartáson, egy egész kategóriára mentett alapértelmezett arány, vagy egy, a nyilvántartott adataiból kiszámított arány (például a nyilvántartott otthoni iroda területe az otthona méretéhez viszonyítva). Mindhárom csak a költségnek azt a részét tartja meg, amely valóban az üzlethez tartozik.

Egy MIXED sornak arányossági hivatkozásra van szüksége, mielőtt egy modelo számolhatna belőle. A hivatkozás egy mentett kategóriaarány, amelyet a --usage-ratio-id kapcsolón keresztül alkalmaz. Egy önálló --business-pct rögzít egy százalékot, de nem teszi késszé a sort; az előellenőrzés továbbra is missing_proportionality_reference értéket jelent, amíg a sor nem hordozza a --usage-ratio-id-t.

Egysoros parancsoknál a --usage-ratio-id az allocate igén (és az add-en) található, nem a classify-on. Az értéke a kiadáskategória azonosítója, és ugyanahhoz a kategóriához már kell léteznie mentett aránynak. A sorozat ellenőrzi a jogosult kategóriákat, ment egy arányt, és felosztja az arányt egy soron:

1Check which categories accept a ratio.
aeat app ledger ratios eligible
aeat app ledger ratios eligible
bucket	<profile-id>
count	15
amortizacion_vivienda_afecto	usage_ratio_home_area	default=-	override=.
arrendamiento_vivienda_afecto	usage_ratio_home_area	default=-	override=.
comunidad_vivienda_afecto	usage_ratio_home_area	default=-	override=.
ibi_vivienda_afecto	usage_ratio_home_area	default=-	override=.
suministros_home_office_agua	usage_ratio_home_area	default=-	override=.
suministros_home_office_gas	usage_ratio_home_area	default=-	override=.
suministros_home_office_internet	usage_ratio_home_area	default=-	override=.
suministros_home_office_luz	usage_ratio_home_area	default=-	override=.
telefonia_fija	usage_ratio_home_area	default=-	override=.
telefonia_movil	usage_ratio_personal	default=-	override=.
vehiculo_combustible	usage_ratio_personal	default=-	override=.
vehiculo_mantenimiento	usage_ratio_personal	default=-	override=.
vehiculo_parking	usage_ratio_personal	default=-	override=.
vehiculo_peaje	usage_ratio_personal	default=-	override=.
vehiculo_seguro	usage_ratio_personal	default=-	override=.
2Save the ratio for the category, as a percentage from 0 to 1.
aeat app ledger ratios set telefonia_movil 0.5
aeat app ledger ratios set telefonia_movil 0.5
bucket	<profile-id>
telefonia_movil	0.5
3Allocate the share on the row, naming the same category for both flags.
aeat app ledger allocate {transaction_id} --business-pct 0.5 --usage-ratio-id \
  telefonia_movil --category-id telefonia_movil
aeat app ledger allocate {transaction_id} --business-pct 0.5 --usage-ratio-id `
  telefonia_movil --category-id telefonia_movil
ID	80f1bbebb9176b41674513c8a1c593f2ba8e6304d6fa0a9bfe104dd2f081a73e
Date	2026-03-15
Amount	60.5
Description	Factura movil
Review status	reviewed
4Confirm the row is now mixed with the allocated share.
aeat --format json app ledger view {transaction_id}
aeat --format json app ledger view {transaction_id}
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.view",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "review_status": "reviewed",
    "transaction": {
      "amount": "60.5",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "business_classification": "MIXED",
      "business_pct": "0.5",
      "category_id": "telefonia_movil",
      "classification_confidence": "1",
      "classification_reason": "aeat app ledger allocate",
      "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-15",
      "description": "Factura movil",
      "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": "ES",
      "taxable_base": null,
      "transaction_id": "80f1bbebb9176b41674513c8a1c593f2ba8e6304d6fa0a9bfe104dd2f081a73e",
      "usage_ratio_id": "telefonia_movil",
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "80f1bbebb9176b41674513c8a1c593f2ba8e6304d6fa0a9bfe104dd2f081a73e"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the mixed-use row carries the allocated business share.

Egy sor --usage-ratio-id-jának egy arány-jogosult kategóriát kell megneveznie (azokat, amelyeket a ratios eligible felsorol, például a telefonia_movil vagy egy otthoni iroda suministros kategória), és ugyanezt a kategóriát adja át a --category-id kapcsolónak. A --business-pct értéknek egyeznie kell az adott kategóriához mentett aránnyal. Az osztályozás automatikusan követi az arányt: egy 0.5 felosztásból MIXED, egy 1 felosztásból BUSINESS, egy 0 felosztásból pedig PERSONAL lesz.

Bármikor listázhatja vagy ellenőrizheti a mentett arányokat. A sorozat ment egy arányt, listázza a mentett arányokat, és ellenőrzi őket:

1Save a ratio for a ratio-eligible category.
aeat app ledger ratios set telefonia_movil 0.5
aeat app ledger ratios set telefonia_movil 0.5
bucket	<profile-id>
telefonia_movil	0.5
2List the saved ratios.
aeat app ledger ratios list
aeat app ledger ratios list
bucket	<profile-id>
count	1
telefonia_movil	0.5
3Confirm the saved ratios are internally consistent.
aeat --format json app ledger ratios validate
aeat --format json app ledger ratios validate
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.ratios.validate",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "eligible_count": 15,
    "findings": [],
    "missing_overrides": [],
    "overrides_count": 1,
    "profile_present": true
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the saved ratios validate cleanly.

Egy kategóriaarányt, amelyet már nem szeretne, az aeat app ledger ratios unset <category-id> paranccsal távolíthat el.

Otthoni iroda kiadásaihoz mentsen arányt a megfelelő otthoni iroda kategóriához, és ossza fel a fentiek szerint. Az otthoni iroda arányai a kézi vagy a mentett arány munkafolyamatát követik; először tartsa helyesen a censo-adatokat a profiljában - lásd A Modelo 036 censo-adatok karbantartása a profiljában.

Sok sor osztályozása CSV-ből

Tömeges áttekintéshez a classify --file egy olyan CSV-t olvas be, amelynek oszlopai a transaction_id, a classification, valamint opcionális osztályozási adatok, például a category_id, a business_pct, a usage_ratio_id, az adóalap- és IVA-oszlopok, az iva_category és az irpf_category. Készítsen egy szűk CSV-t, amely csak azokat a sorokat tartalmazza, amelyeket módosítani szándékozik, tranzakciónként egy sort:

transaction_id,classification,category_id,business_pct,usage_ratio_id
<business-expense-id>,BUSINESS,<category-id>,,
<mixed-expense-id>,MIXED,<category-id>,0.5,<category-id>
<private-row-id>,PERSONAL,,,

Az alábbi sorozat importálja a negyedévet, felsorolja a még döntésre váró sorokat, exportál egy ellenőrzési pillanatképet a munkához, alkalmaz egy előkészített CSV-t, és megerősíti az eredményt:

1Select the rows still needing a decision.
aeat app ledger list --filter period=1T --filter year=2026 --filter \
  classification=NOT_YET_PROCESSED
aeat app ledger list --filter period=1T --filter year=2026 --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
2Export the period as a review snapshot to work from.
aeat app ledger export --output ./ledger-2026-q1.csv --year 2026 --period 1T
aeat app ledger export --output ./ledger-2026-q1.csv --year 2026 --period 1T
Bucket	<profile-id>
Export ID	5f0ddcff2e977990b1b5fd3fc6e107cf9b3cb3b5f7ac82e87d072c77fed11cf4
Rows	2
SHA-256	0becceaa2ef5f6edba6a89f5fee123b09f1a044d477005dd381cecb52f66213d
Output	ledger-2026-q1.csv
3Apply the prepared classification CSV to the quarter's rows.
aeat app ledger classify --file fixtures/classifications-2026-1t.csv
aeat app ledger classify --file fixtures/classifications-2026-1t.csv
bulk classify: 2 rows, 2 applied, 0 skipped, 0 failed
4Confirm the expense row is now classified as business.
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": "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 --file",
      "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 CSV batch classified the quarter's rows.

Akkor használja a CSV-utat, amikor a szűrt áttekintés sok olyan sort mutat, amelyet biztonságosan osztályozhat a leírásaik, partnereik és forrásdokumentumaik alapján. Tartson meg egy másolatot a fájlról. Ez nyilvántartást ad arról, hogyan osztályozta azt az időszakot, ha később felkérik a bevallása igazolására. Ez az út nem frissít kötegelten összegeket, leírásokat, IVA-értékeket, jegyzeteket, mellékleteket vagy felosztási/összevonási állapotot; ezekhez a sorszintű szerkesztésekhez használja a tranzakciós munkafolyamatot.

Tárolt szabályok automatikus alkalmazása

A szabályok automatikusan osztályozzák azokat a tranzakciókat, amelyek leírása tartalmaz egy Ön által megadott szót vagy kifejezést. Az egyeztetés figyelmen kívül hagyja a kis- és nagybetűk közötti különbségeket. A sorozat hozzáad egy szabályt, listázza a szabályokat, előnézetben megmutatja a hatását, majd alkalmazza:

1Add a rule that classifies matching descriptions.
aeat app ledger rule add --description-pattern material --classification BUSINESS \
  --category-id material_oficina
aeat app ledger rule add --description-pattern material --classification BUSINESS `
  --category-id material_oficina
rule_id	16719284a6b5e971...
pattern	material
classification	BUSINESS
priority	100
2List the stored rules.
aeat app ledger rule list
aeat app ledger rule list
priority	classification	pattern	rule_id
100	BUSINESS	material	16719284a6b5e971...
3Preview the effect without changing any rows.
aeat app ledger rule apply --dry-run
aeat app ledger rule apply --dry-run
dry-run: 0 transaction(s) would be classified
4Apply the rule to matching rows.
aeat --format json app ledger rule apply
aeat --format json app ledger rule apply
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.rule.apply",
  "notices": [],
  "result": {
    "applied": [],
    "count": null,
    "dry_run": null,
    "matched": 0,
    "no_match": 0,
    "rules_evaluated": 1,
    "skipped_already_classified": 0,
    "transactions_scanned": 0,
    "would_match": null
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the stored rule is registered and applies cleanly.

Először futtassa a --dry-run-t. Csak akkor adja hozzá a --reaffirm-et, ha azt szeretné, hogy a szabály felülírja a már kézzel beállított osztályozásokat.

LLM-javaslat használata

A Cadrumo egy beállított nyelvi modellt használhat az egyes tranzakciók osztályozásának javaslatához. A javaslat kiindulópont. Meg kell erősítenie vagy javítania kell. Nem tölti ki az adóösszegeket, például az adóalapot, az IVA-kulcsot vagy az IRPF-kategóriát.

A teljes szolgáltató-, előnézet-, alkalmazás- és felülbírálási folyamathoz használja a Tranzakciók osztályozása LLM-mel útmutatót.

Tekintsen meg mindent, ami még döntést igényel

Az ellenőrzési sor egy profilszintű lista mindarról, ami még figyelmet igényel egy benyújtás előtt: osztályozás nélküli tranzakciók, párosítatlan vagy vitatott számlanyilvántartások, valamint a modelo piszkozatokon talált ellenőrzési észrevételek. Minden sor megnevezi azt a pontos parancsot, amely megoldja, így a sor egy teendőlista, amelyet fentről lefelé haladva dolgozhat fel. A sor csak olvasható; a tételek akkor tűnnek el, amikor a mögöttes nyilvántartást a sor által megnevezett paranccsal kijavítja. A sorozat importálja a negyedévet, majd beolvassa a sort:

1Read the profile-wide review queue.
aeat --format json app review queue
aeat --format json app review queue
{
  "active_profile": "docs-sequence-sandbox",
  "command": "review.queue",
  "notices": [],
  "result": {
    "operation": "review.queue",
    "rows": [
      {
        "affected_object_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518",
        "blocking": false,
        "bucket_id": "<bucket-id>",
        "canonical_next_command": "aeat app ledger review 71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518",
        "current_owner_surface": "app ledger",
        "item_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518",
        "kind": "ledger_transaction",
        "legal_refs": [],
        "modelo": null,
        "period": "2026-02",
        "reason": "Transaction pending classification",
        "severity": "normal",
        "since": "2026-02-10T00:00:00+00:00",
        "source_kind": "ledger_transaction",
        "state": "pending",
        "summary": "Transaction pending classification"
      },
      {
        "affected_object_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "blocking": false,
        "bucket_id": "<bucket-id>",
        "canonical_next_command": "aeat app ledger review e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "current_owner_surface": "app ledger",
        "item_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "kind": "ledger_transaction",
        "legal_refs": [],
        "modelo": null,
        "period": "2026-02",
        "reason": "Transaction pending classification",
        "severity": "normal",
        "since": "2026-02-11T00:00:00+00:00",
        "source_kind": "ledger_transaction",
        "state": "pending",
        "summary": "Transaction pending classification"
      }
    ]
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the review queue lists the pending work.

Minden sor a tétel azonosítóját, a típusát, az érintett nyilvántartást, az időszakot, egy súlyosságot (critical, high, normal vagy info) és egy utolsó oszlopot mutat a következőként futtatandó paranccsal. Szűkítse a listát típus, modelo vagy állapot szerint:

1Narrow the queue to ledger-transaction items.
aeat app review queue --kind ledger_transaction
aeat app review queue --kind ledger_transaction
ID	Kind	Source kind	Object	Period	Severity	Next
71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518	ledger_transaction	ledger_transaction	71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518	2026-02	normal	aeat app ledger review 71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518
e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d	ledger_transaction	ledger_transaction	e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d	2026-02	normal	aeat app ledger review e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d
2Narrow the queue to modelo findings for one modelo.
aeat app review queue --kind modelo_finding --modelo 303
aeat app review queue --kind modelo_finding --modelo 303
ID	Kind	Source kind	Object	Period	Severity	Next
No items pending review.
3Show every state, not only pending items.
aeat --format json app review queue --state all
aeat --format json app review queue --state all
{
  "active_profile": "docs-sequence-sandbox",
  "command": "review.queue",
  "notices": [],
  "result": {
    "operation": "review.queue",
    "rows": [
      {
        "affected_object_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518",
        "blocking": false,
        "bucket_id": "<bucket-id>",
        "canonical_next_command": "aeat app ledger review 71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518",
        "current_owner_surface": "app ledger",
        "item_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518",
        "kind": "ledger_transaction",
        "legal_refs": [],
        "modelo": null,
        "period": "2026-02",
        "reason": "Transaction pending classification",
        "severity": "normal",
        "since": "2026-02-10T00:00:00+00:00",
        "source_kind": "ledger_transaction",
        "state": "all",
        "summary": "Transaction pending classification"
      },
      {
        "affected_object_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "blocking": false,
        "bucket_id": "<bucket-id>",
        "canonical_next_command": "aeat app ledger review e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "current_owner_surface": "app ledger",
        "item_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d",
        "kind": "ledger_transaction",
        "legal_refs": [],
        "modelo": null,
        "period": "2026-02",
        "reason": "Transaction pending classification",
        "severity": "normal",
        "since": "2026-02-11T00:00:00+00:00",
        "source_kind": "ledger_transaction",
        "state": "all",
        "summary": "Transaction pending classification"
      }
    ]
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the queue can be narrowed by kind.

Az elfogadott --kind tokenek: ledger_transaction, purchase_invoice_evidence, payable_invoice, collectible_invoice és modelo_finding. Az alapértelmezett állapot a pending. Egy tételt teljes egészében, beleértve a javasolt következő parancsot is, az aeat app review view <item-id> paranccsal vizsgálhat meg. A modelo észrevételei nyilvántartási szabályokon alapulnak; adja hozzá az --explain kapcsolót a jogszabályi hivatkozások megjelenítéséhez, vagy használja a globális --format json kapcsolót (a parancs előtt) minden sorban egy legal_refs mezőért.

A tranzakciós tételek akkor tűnnek el, amikor osztályozza a sort (ez az oldal). A számlatételek akkor tűnnek el, amikor összekapcsolja vagy frissíti a számlát - lásd Számlák és bizonylatok csatolása. A modelo észrevételei akkor tűnnek el, amikor kijavítja a jelentett értékeket, és újra ellenőriz - lásd Egy benyújtás ellenőrzése.

Erősítse meg a felkészültséget

Az osztályozás után futtasson előellenőrzést. A sorozat importálja és osztályozza a negyedévet, majd lefuttatja az előellenőrzést, és beolvassa a ledger állapotát:

1Run preflight for the target period.
aeat app ledger preflight --year 2026 --period 1T
aeat app ledger preflight --year 2026 --period 1T
bucket	<profile-id>
period	2026 1T
checked	2
issues	0
ready	true
2Read the overall ledger state for the period.
aeat --format json app ledger status --year 2026 --period 1T
aeat --format json app ledger status --year 2026 --period 1T
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.status",
  "notices": [],
  "result": {
    "active_count": 2,
    "archived_count": 0,
    "bucket_id": "<bucket-id>",
    "business_expense_total": "605",
    "business_income_total": "1210",
    "business_net_total": "605",
    "checked_transaction_count": 2,
    "pending_review_count": 0,
    "period": {
      "code": "1T",
      "filing_year": 2026
    },
    "readiness_issue_count": 0,
    "readiness_issues": [],
    "ready": true,
    "reviewed_count": 2,
    "skipped_count": 0,
    "split_count": 0,
    "stale_filings": [],
    "stashed_count": 0,
    "total_count": 2,
    "unconverted_currency_count": 0
  },
  "schema_version": "2",
  "status": "success"
}

Confirm preflight reports the classified quarter's readiness.

Az előellenőrzés megnevezi azokat a sorokat, amelyeknek még kategóriára, adóalapra, IVA-összegre, IVA-kulcsra, pénznemre vagy arányossági hivatkozásra van szükségük.

Egy osztályozás javítása

Futtassa újra a classify-t ugyanarra a tranzakcióazonosítóra. Egy kézi döntés felülírja a korábbi osztályozást. A sorozat üzletiként osztályoz egy sort, majd személyesre javítja:

1Re-classify the same row as personal.
aeat app ledger classify e3eeac5e --classification PERSONAL
aeat app ledger classify e3eeac5e --classification PERSONAL
ID	e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d
Date	2026-02-11
Amount	605
Description	Compra de material de oficina proveedor local
Review status	reviewed
2Confirm the row now reads personal.
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": "reviewed",
    "transaction": {
      "amount": "605",
      "attachment_ids": [],
      "booked_date": "2026-02-11",
      "business_classification": "PERSONAL",
      "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-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 re-classification replaced the previous decision.

A számítás előtt vizsgálja meg újra a sort a ledger view paranccsal.

Következő lépések