Javítsa ki a hibákat a ledgerében

Javítsa ki a hibás tranzakciókat a ledgerében anélkül, hogy szem elől tévesztené, mi változott. Minden javítás látható előzménybejegyzést hagy, így mindig láthatja, hogyan nézett ki egy tranzakció előtte és utána. Minden az Ön számítógépén történik - semmi sem kerül elküldésre sehová.

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.

A javítani kívánt tranzakció megtalálásához listázza a tranzakcióit, és tekintsen meg egyet részletesen. Az alábbi sorozat rögzít egy példakiadást, listázza a ledgert, és megvizsgálja azt a sort:

1Record an example expense you will correct in the sections below.
aeat --format json app ledger add --date 2026-03-15 --amount 210.00 --direction OUTGOING \
  --description Silla de oficina --idempotency-key correct-find
aeat --format json app ledger add --date 2026-03-15 --amount 210.00 --direction OUTGOING `
  --description Silla de oficina --idempotency-key correct-find
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "a9ef0aa32d83010e35c72d35d6cc793ade13766f38979a9ae358646f1064352f"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "210",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Silla de oficina",
      "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": "f83add280832e5cbcbfc1da6432f5e6a7e02eb78ba74fc265eb483b805ee7afb",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "f83add280832e5cbcbfc1da6432f5e6a7e02eb78ba74fc265eb483b805ee7afb"
  },
  "schema_version": "2",
  "status": "success"
}
2List your transactions to find the one to fix.
aeat app ledger list
aeat app ledger list
ACCOUNTING LEDGER TRANSACTIONS
id	full_id	date	amount	description	IVA category	review_status
f83add28	f83add280832e5cbcbfc1da6432f5e6a7e02eb78ba74fc265eb483b805ee7afb	2026-03-15	210	Silla de oficina		pending
3Inspect one transaction in detail before changing it.
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": "pending",
    "transaction": {
      "amount": "210",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Silla de oficina",
      "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": "f83add280832e5cbcbfc1da6432f5e6a7e02eb78ba74fc265eb483b805ee7afb",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "f83add280832e5cbcbfc1da6432f5e6a7e02eb78ba74fc265eb483b805ee7afb"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the inspected transaction is the one you want to fix.

A view parancs jelenti az azonosítót, az összeget, az irányt, a leírást és az életciklus-állapotot. A tranzakciók útmutató részletesen tárgyalja a listázást és a szűrést.

Válassza ki a javítást

  • Ha egy tranzakciónak rossz az összege, dátuma vagy szövege, frissítse.

  • Ha egy tranzakciónak egyáltalán nem kellene léteznie, távolítsa el.

  • Ha ugyanazt a beszerzést kétszer importálta, távolítsa el a másodpéldányt - vagy archiválja, hogy szándékos nyomot tartson róla.

  • Ha egy kifizetés két különböző dolgot fed le, ossza fel.

  • Ha felosztott valamit, és újra egyben szeretné, vonja össze a részeket.

  • Ha nem biztos egy tranzakcióban, és el szeretné tenni az útból, tegye félre.

  • Ha egy tranzakciót az előzményekben szeretne megtartani, de a mindennapi listákon kívül, archiválja.

  • Ha tévedésből félretett vagy archivált egy tranzakciót, állítsa vissza aktívra.

Egy tranzakció mezőinek frissítése

Módosítson egy vagy több mezőt közvetlenül. A sorozat rögzít egy széket rossz áron, kijavítja az összeget és a leírást, és megerősíti a javítást:

1Record a transaction with a wrong price to correct.
aeat --format json app ledger add --date 2026-03-15 --amount 100.00 --direction OUTGOING \
  --description Office chair --idempotency-key correct-update
aeat --format json app ledger add --date 2026-03-15 --amount 100.00 --direction OUTGOING `
  --description Office chair --idempotency-key correct-update
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "47c494e7c2a1631efad4835b3c50110ccfda63015482d65fef4f0b83f8dd1c61"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "100",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Office chair",
      "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": "1a9106f8f6783eaf5ba09478eeb3bcec6188caf02d136a7cdd9770bcd6e7830d",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "1a9106f8f6783eaf5ba09478eeb3bcec6188caf02d136a7cdd9770bcd6e7830d"
  },
  "schema_version": "2",
  "status": "success"
}
2Change the amount and description in one command.
aeat app ledger update {transaction_id} --amount 121.00 --description \
  Office chair, corrected price
aeat app ledger update {transaction_id} --amount 121.00 --description `
  Office chair, corrected price
ID	59316515102ea30c11d09b68fccd42fd4ed6b385f8fe1324412724fb1827dfe5
Date	2026-03-15
Amount	121
Description	Office chair, corrected price
Review status	pending
3The original id still resolves; view it to confirm the correction.
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": "pending",
    "transaction": {
      "amount": "121",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Office chair, corrected price",
      "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": "59316515102ea30c11d09b68fccd42fd4ed6b385f8fe1324412724fb1827dfe5",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "59316515102ea30c11d09b68fccd42fd4ed6b385f8fe1324412724fb1827dfe5"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the update replaced the amount and description.

Minden kapcsoló teljesen lecseréli az adott mezőt - a teljes új értéket írja be, ne a régihez való kiegészítést. Az összeget pozitív számként írja - az irány mező hordozza, hogy pénz jött be vagy ment ki, és a negatív összeg elutasításra kerül. A frissíthető mezők: dátum, értéknap, összeg, irány, pénznem, partner, leírás, adóalap, IVA-kulcs, IVA-összeg, IRPF-kategória, jegyzetek és csoport.

Egy frissítés új azonosítót ad a tranzakciónak - a frissítés kimenete kinyomtatja. Az olvasási parancsokhoz nem kell nyomon követnie a változást: egy azonosító, amelyet a frissítés előtt feljegyzett, továbbra is válaszol a history, view és track parancsokban, a kijavított tranzakcióra feloldva, pontosan úgy, mint a fenti view. Egy további változtatáshoz - egy újabb update, classify vagy archive - használja az aktuális azonosítót a frissítés kimenetéből vagy a list-ből, mert ezek a parancsok az élő tranzakción hatnak.

A frissítés csak aktív tranzakciókon működik. Az archivált és félretett tranzakciók elutasítják, ahogyan egy felosztási szülő is - egy felosztás aktív részei normálisan frissíthetők.

Egy tranzakció eltávolítása

Az eltávolítás töröl egy tranzakciót az aktív nyilvántartásaiból. Először tekintse meg előnézetben a --dry-run kapcsolóval, majd távolítsa el ténylegesen. Az eltávolított azonosító többé nem oldódik fel, így erősíti meg a sorozat a törlést:

1Record a transaction imported from the wrong file.
aeat --format json app ledger add --date 2026-03-15 --amount 60.50 --direction OUTGOING \
  --description Wrong import --idempotency-key correct-remove
aeat --format json app ledger add --date 2026-03-15 --amount 60.50 --direction OUTGOING `
  --description Wrong import --idempotency-key correct-remove
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "8b33ed95365478e1093bdc08e4960210b7eb3fda5fe8f7de1144c1a9c47a8688"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "60.5",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Wrong import",
      "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": "1caacc8087e969e8648cc8618626fb93510b89a62186b1854f9a1893813869eb",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "1caacc8087e969e8648cc8618626fb93510b89a62186b1854f9a1893813869eb"
  },
  "schema_version": "2",
  "status": "success"
}
2Preview the removal without deleting anything.
aeat app ledger remove {transaction_id} --reason wrong file imported --dry-run
aeat app ledger remove {transaction_id} --reason wrong file imported --dry-run
Bucket	<profile-id>
ID	1caacc8087e969e8648cc8618626fb93510b89a62186b1854f9a1893813869eb
Removed	False
DRY RUN MODE	True
3Remove it for real.
aeat app ledger remove {transaction_id} --reason wrong file imported --yes
aeat app ledger remove {transaction_id} --reason wrong file imported --yes
Bucket	<profile-id>
ID	1caacc8087e969e8648cc8618626fb93510b89a62186b1854f9a1893813869eb
Removed	True
DRY RUN MODE	False
4Confirm the id no longer resolves.
aeat --format json app ledger view {transaction_id}
aeat --format json app ledger view {transaction_id}
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.view",
  "error": {
    "action": {
      "action": null,
      "argument_bindings": [],
      "conditionality": "not_applicable",
      "evidence": [
        {
          "condition_id": "cli.ledger.transaction_id.resolves",
          "evidence_id": "cli.ledger.transaction_id.resolves.observation",
          "provenance": "runtime_observation",
          "values": {
            "transaction_id_resolves": false
          }
        }
      ],
      "failed_condition_id": "cli.ledger.transaction_id.resolves",
      "missing_argument_names": [],
      "no_recovery_outcome": "operator_decision"
    },
    "category": "REFUSED",
    "code": "REFUSED_FINANCIAL_LEDGER_TRANSACTION_ID_PREFIX",
    "context": {
      "prefix": "'1caacc8087e969e8648cc8618626fb93510b89a62186b1854f9a1893813869eb'"
    },
    "message": "no transaction matches id prefix '1caacc8087e969e8648cc8618626fb93510b89a62186b1854f9a1893813869eb'",
    "retryable": false,
    "runbook_id": null,
    "trace_id": null
  },
  "notices": [],
  "schema_version": "2",
  "status": "error"
}

Confirm the removed transaction no longer resolves.

Egy eltávolított tranzakció eltűnik az aktív nyilvántartásaiból: az utolsó view elutasítja a műveletet, mert az azonosító többé nem nevez meg aktív sort.

Egy tranzakció felosztása részekre

Amikor egy kifizetés két különböző dolgot fed le - például egy kártyás fizetés, amely üzleti és személyes tételeket kever -, ossza fel részekre. Az összegek és a leírások részenként egyesével párosulnak: az első összeg az első leíráshoz tartozik, és így tovább:

1Record a card payment that mixes business and personal items.
aeat --format json app ledger add --date 2026-03-15 --amount 121.00 --direction OUTGOING \
  --description Mixed receipt --idempotency-key correct-split
aeat --format json app ledger add --date 2026-03-15 --amount 121.00 --direction OUTGOING `
  --description Mixed receipt --idempotency-key correct-split
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "9f5e7d2af0b80902321e3b1202a64f33db90510f94d37b6ac8a1faae0c89d25c"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "121",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Mixed receipt",
      "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": "e55d6600ead7d9490cb4774a0de8f8e9254866b0015b5c6898c68569e8d7a6e9",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "e55d6600ead7d9490cb4774a0de8f8e9254866b0015b5c6898c68569e8d7a6e9"
  },
  "schema_version": "2",
  "status": "success"
}
2Split the payment into two parts.
aeat --format json app ledger split {transaction_id} --child-amount 100.00 \
  --child-description office supplies --child-amount 21.00 --child-description \
  personal items --reason mixed receipt --yes
aeat --format json app ledger split {transaction_id} --child-amount 100.00 `
  --child-description office supplies --child-amount 21.00 --child-description `
  personal items --reason mixed receipt --yes
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.split",
  "notices": [],
  "result": {
    "bucket_event_id": "2960d40c4f90dbaa25b1c462ce52210f4b2cc4ab1904c6c78c08739e821fbf1b",
    "bucket_id": "<bucket-id>",
    "child_transaction_ids": [
      "9cc7a2639a30fcead52f62683cdc1c627a8b47cb43ff333f01b19e7f37245b49",
      "0bba86e710bdb3ccf97cd1cf82d62a5011a7107989ee76648f8ef8932c28ba0e"
    ],
    "child_transactions": [
      {
        "display_id": "9cc7a263",
        "full_id": "9cc7a2639a30fcead52f62683cdc1c627a8b47cb43ff333f01b19e7f37245b49"
      },
      {
        "display_id": "0bba86e7",
        "full_id": "0bba86e710bdb3ccf97cd1cf82d62a5011a7107989ee76648f8ef8932c28ba0e"
      }
    ],
    "classified_child_count": null,
    "llm": null,
    "parent_amount": null,
    "parent_transaction_id": "e55d6600ead7d9490cb4774a0de8f8e9254866b0015b5c6898c68569e8d7a6e9",
    "persisted": null,
    "proposed_children": null,
    "provenance": null,
    "provider": null,
    "reason": null,
    "split_group_id": "49e46bf12630b536b609999a5502582c94bc0faefcbba41cf784f89552823662"
  },
  "schema_version": "2",
  "status": "success"
}
3Confirm the first part is an active transaction of its own.
aeat --format json app ledger view {first_part}
aeat --format json app ledger view {first_part}
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.view",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "100",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "office supplies",
      "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": "9cc7a2639a30fcead52f62683cdc1c627a8b47cb43ff333f01b19e7f37245b49",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "9cc7a2639a30fcead52f62683cdc1c627a8b47cb43ff333f01b19e7f37245b49"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the split produced two active child parts.

Az eredeti tranzakcióból a felosztási szülő lesz, és a részek hordozzák az egyenleget onnantól. A felosztás kimenete részenként egy child_transactions sort nyomtat ki, mindegyiket egy rövid display_id-vel és egy teljes full_id-vel. Másolja ki ezeket az azonosítókat - az összevonási parancsnak szüksége van rájuk a felosztás visszavonásához.

A felosztott részek újbóli összevonása

Egy felosztás visszavonásához vonja össze újra a részeket a felosztás által kinyomtatott gyermekazonosítók használatával. Nevezze meg az összes testvérrészt - a parancs elutasítja a részleges összevonást. A sorozat felosztja egy kifizetést, majd egyetlen friss tranzakcióvá vonja össze a részeket:

1Merge the two parts back into one transaction, naming every sibling.
aeat --format json app ledger merge --child-id {first_child} --child-id {second_child} \
  --reason undo split --yes
aeat --format json app ledger merge --child-id {first_child} --child-id {second_child} `
  --reason undo split --yes
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.merge",
  "notices": [],
  "result": {
    "bucket_event_id": "24fa3aac51e5315bbb008dcbc57b80fdc41b292a4d2e504303e54e6c21354591",
    "bucket_id": "<bucket-id>",
    "merged_transaction_id": "afc12ac601d050659efe0abace313167f275923e77ba6b0a4ead868f32d7cdd9",
    "parent_transaction_id": "3cda9f1229ee04269a70bb6705dafeff1de2f9b14f1bfcefacba4ae277b20a9d",
    "source_child_ids": [
      "63c3f9245937ab54232f067804fc12248abcbb1a5f9d93e9433313f8bf74b23d",
      "e0504b924f0b4500f0be1c70fe2958279ff9d9d0e5f61c4c66615fe9ed65ae84"
    ],
    "split_group_id": "ea58900b8c1962062494a7fb1c80418936a96ae53f2e402af33f8b212fb055c0"
  },
  "schema_version": "2",
  "status": "success"
}
2Confirm the merged transaction is active and carries the full amount.
aeat --format json app ledger view {merged}
aeat --format json app ledger view {merged}
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.view",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "121",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Split to undo",
      "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": "afc12ac601d050659efe0abace313167f275923e77ba6b0a4ead868f32d7cdd9",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "afc12ac601d050659efe0abace313167f275923e77ba6b0a4ead868f32d7cdd9"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the merge produced a single active transaction carrying the full amount.

A részek és az eredeti szülő az előzményekbe kerülnek, és az összevonás egy friss tranzakciót hoz létre a helyükön. Ha már nincs meg a felosztás kimenete, a részek aktív sorok: futtassa az aeat app ledger list parancsot, és olvassa ki az azonosítóikat a listából.

Tegyen félre egy tranzakciót, amelyben nem biztos

A félretétel egy tranzakciót későbbre tesz félre. Egy félretett tranzakció a szokásos munkán kívül marad. A sorozat félretesz egy sort, és megerősíti az új életciklus-állapotát:

1Record a transaction you are not ready to resolve.
aeat --format json app ledger add --date 2026-03-15 --amount 80.00 --direction OUTGOING \
  --description Awaiting invoice --idempotency-key correct-stash
aeat --format json app ledger add --date 2026-03-15 --amount 80.00 --direction OUTGOING `
  --description Awaiting invoice --idempotency-key correct-stash
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "78ad404abaedb72ff65685f682bb8eeb58032ac35d5553aabd48810cc6cbea06"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "80",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Awaiting invoice",
      "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": "f5c6e7a8fce9960b36a29df9e59c7954affef5dc4bf50cd6a0aaaebc3eed8c22",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "f5c6e7a8fce9960b36a29df9e59c7954affef5dc4bf50cd6a0aaaebc3eed8c22"
  },
  "schema_version": "2",
  "status": "success"
}
2Set it aside for later.
aeat app ledger stash {transaction_id} --reason waiting for invoice --yes
aeat app ledger stash {transaction_id} --reason waiting for invoice --yes
ID	f5c6e7a8fce9960b36a29df9e59c7954affef5dc4bf50cd6a0aaaebc3eed8c22
Date	2026-03-15
Amount	80
Description	Awaiting invoice
Review status	pending
3Confirm the lifecycle state now reads STASHED.
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": "pending",
    "transaction": {
      "amount": "80",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Awaiting invoice",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": null,
      "iva_category": null,
      "iva_rate": null,
      "lifecycle_state": "STASHED",
      "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": "f5c6e7a8fce9960b36a29df9e59c7954affef5dc4bf50cd6a0aaaebc3eed8c22",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "f5c6e7a8fce9960b36a29df9e59c7954affef5dc4bf50cd6a0aaaebc3eed8c22"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the transaction moved to the stashed state.

A félretételt egy olyan sorhoz használja, amelyet még nem oldott meg, az archiválást pedig egy olyan sorhoz, amelyet szándékosan tett félre, például egy megerősített másodpéldányhoz. Mindkettő visszafordítható: a visszaállítás aktívra állítja vissza a sort. A stash parancs kinyomtatja a tranzakció mezőit, de nem az új életciklus-állapotát, ezért a view az, amivel megerősíti, hogy a változás életbe lépett.

Egy tranzakció archiválása

Az archiválás az előzményekben tartja a tranzakciót, de a szokásos munkán kívül - ez a megfelelő választás azokhoz a másodpéldányokhoz, amelyekről szándékos nyomot szeretne tartani. A sorozat archivál egy másodpéldány-sort, és megerősíti az állapotváltozást:

1Record a duplicate row you want to keep a trace of.
aeat --format json app ledger add --date 2026-03-15 --amount 80.00 --direction OUTGOING \
  --description Duplicate import --idempotency-key correct-archive
aeat --format json app ledger add --date 2026-03-15 --amount 80.00 --direction OUTGOING `
  --description Duplicate import --idempotency-key correct-archive
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.add",
  "notices": [],
  "result": {
    "bucket_event_ids": [
      "23efbc39a82a4a3977431bce885841629c5b7721e681921b8b70c0b9d90586f1"
    ],
    "bucket_id": "<bucket-id>",
    "review_status": "pending",
    "transaction": {
      "amount": "80",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Duplicate import",
      "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": "a095fd3caed8beeb0a33806f3b456822e31378e214e89067227d9f2fc6d0d6b0",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "a095fd3caed8beeb0a33806f3b456822e31378e214e89067227d9f2fc6d0d6b0"
  },
  "schema_version": "2",
  "status": "success"
}
2Archive it out of ordinary work.
aeat app ledger archive {transaction_id} --reason duplicate imported row --yes
aeat app ledger archive {transaction_id} --reason duplicate imported row --yes
ID	a095fd3caed8beeb0a33806f3b456822e31378e214e89067227d9f2fc6d0d6b0
Date	2026-03-15
Amount	80
Description	Duplicate import
Review status	pending
3Confirm the lifecycle state now reads ARCHIVED.
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": "pending",
    "transaction": {
      "amount": "80",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Duplicate import",
      "direction": "OUTGOING",
      "fx_rate": null,
      "invoice_id": null,
      "irpf_category": null,
      "iva_amount": null,
      "iva_category": null,
      "iva_rate": null,
      "lifecycle_state": "ARCHIVED",
      "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": "a095fd3caed8beeb0a33806f3b456822e31378e214e89067227d9f2fc6d0d6b0",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "a095fd3caed8beeb0a33806f3b456822e31378e214e89067227d9f2fc6d0d6b0"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the duplicate moved to the archived state.

A félretételhez hasonlóan a parancs kinyomtatja a tranzakció mezőit, de nem az új életciklus-állapotát, ezért a view erősíti meg, hogy a sor most ARCHIVED-et mutat.

Egy félretett vagy archivált tranzakció visszaállítása

Ha tévedésből félretett vagy archivált egy tranzakciót, állítsa vissza aktívra. A visszaállítás a félretétel és az archiválás fordítottja: a sor visszatér a mindennapi listáiba és összegeibe. A sorozat félretesz egy sort, majd visszaállítja:

1Return it to your everyday lists and totals.
aeat app ledger restore {transaction_id} --reason stashed by mistake --yes
aeat app ledger restore {transaction_id} --reason stashed by mistake --yes
ID	d74c37a7d906824ef0171222e6c84b31dbcbcf5ed11806ce7864ff3db1267332
Date	2026-03-15
Amount	80
Description	Stashed by mistake
Review status	pending
2Confirm the lifecycle state is ACTIVE again.
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": "pending",
    "transaction": {
      "amount": "80",
      "attachment_ids": [],
      "booked_date": "2026-03-15",
      "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-03-15",
      "description": "Stashed by mistake",
      "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": "d74c37a7d906824ef0171222e6c84b31dbcbcf5ed11806ce7864ff3db1267332",
      "usage_ratio_id": null,
      "value_date": null,
      "value_in_eur": null
    },
    "transaction_id": "d74c37a7d906824ef0171222e6c84b31dbcbcf5ed11806ce7864ff3db1267332"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the restored transaction is active again.

A visszaállítás ugyanazt az azonosító-előtagot fogadja el, mint a többi parancs. Több, tévedésből félretett sor helyreállításához állítsa vissza mindegyiket azonosító alapján - nem kell visszaállítania az egész ledgert. A listának nincs csak-félretett szűrője, ezért azonosítsa a félretett sorokat a félretett azonosítók alapján, vagy az egyes sorok view által mutatott életciklus-állapota alapján.

A visszaállítás elutasít egy már aktív sort, és elutasít egy olyan sort is, amelynek időszakát már benyújtotta - a visszaállítása megváltoztatná egy már benyújtott bevallás mögötti bemeneteket. Egy ilyet csak azután állítson vissza, hogy egy önellenőrzéssel kijavította a benyújtást.

Tekintse át, mi változott

Minden javítás rögzítésre kerül. Ha sorrendben szeretné látni egy tranzakció minden műveletét, futtassa a ledger history parancsot. A sorozat felosztja egy kifizetést, majd a testvér-kapcsolóval beolvassa az előzményeket, hogy kövesse a teljes felosztási családot:

1List every action on the transaction in order.
aeat app ledger history {transaction_id}
aeat app ledger history {transaction_id}
Bucket	<profile-id>
ID	1fa07beedceb057f55a3aab56aa756e9dab983c332573ee6bdb1e77bb0e16570
Event count	2
2026-04-01T09:00:00+00:00	ledger.transaction.split	0dd721341b0758df0aa4baaab3e24ad7dd79c3a2f90f5f2fc17856dfe491a21f
2026-04-01T09:00:00+00:00	ledger.transaction.created	808c7c37fdc6678905928147c14d45cb7e28450f8c87c917c27a3b61f6406388
2Follow the whole split family with the sibling flag.
aeat --format json app ledger history {transaction_id} --include-split-siblings
aeat --format json app ledger history {transaction_id} --include-split-siblings
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.history",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "event_count": 2,
    "events": [
      {
        "actor": "<profile-id>",
        "bucket_id": "<bucket-id>",
        "event_id": "0dd721341b0758df0aa4baaab3e24ad7dd79c3a2f90f5f2fc17856dfe491a21f",
        "event_type": "ledger.transaction.split",
        "object_id": "1fa07beedceb057f55a3aab56aa756e9dab983c332573ee6bdb1e77bb0e16570",
        "object_type": "ledger_transaction",
        "occurred_at": "2026-04-01T09:00:00Z",
        "payload": {
          "child_count": "2",
          "parent_transaction_id": "1fa07beedceb057f55a3aab56aa756e9dab983c332573ee6bdb1e77bb0e16570",
          "reason": "mixed receipt",
          "source_command": "aeat app ledger split",
          "split_group_id": "4d2d96d6579ac45716e2561a4bc5e7c73876e0a76843db90f5045ebc6dc7a026"
        },
        "payload_version": 1
      },
      {
        "actor": "<profile-id>",
        "bucket_id": "<bucket-id>",
        "event_id": "808c7c37fdc6678905928147c14d45cb7e28450f8c87c917c27a3b61f6406388",
        "event_type": "ledger.transaction.created",
        "object_id": "1fa07beedceb057f55a3aab56aa756e9dab983c332573ee6bdb1e77bb0e16570",
        "object_type": "ledger_transaction",
        "occurred_at": "2026-04-01T09:00:00Z",
        "payload": {
          "amount": "121.00",
          "currency": "EUR",
          "direction": "OUTGOING",
          "source_command": "aeat app ledger add"
        },
        "payload_version": 1
      }
    ],
    "transaction_id": "1fa07beedceb057f55a3aab56aa756e9dab983c332573ee6bdb1e77bb0e16570"
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the history records the transaction's events in order.

Az előzmények sorrendben felsorolják az egyes műveleteket az időbélyegükkel és eseményhivatkozásukkal. A részletek, például az indoklás és az új értékek, a JSON-kimenetben vannak. Egy változás előtti érték megtekintéséhez olvassa el a korábbi eseményeket az előzményekben. A CLI-referencia minden mezőt tárgyal, amelyet az előzmények mutatnak.

Bizonyítékok és javítások

Egy csatolt bizonyíték-nyilvántartás - egy bizonylat vagy számla - nem törlődik, amikor kijavít egy tranzakciót. Egy felosztás vagy összevonás után ellenőrizze az új tranzakciókat, és ahol szükséges, csatolja újra a bizonyítékot. A bizonyíték útmutató tárgyalja a bizonyítékok csatolását és ellenőrzését.

Kezdje elölről végső megoldásként

Ha a ledger már javíthatatlan - például miután többször importálta a rossz fájlokat -, ürítse ki és építse újra. Először tekintse meg előnézetben, majd erősítse meg. A sorozat rögzít egy sort, előnézetben megmutatja a visszaállítást, kiüríti a ledgert, és megerősíti, hogy semmi sem marad:

1Preview the reset without clearing anything.
aeat app ledger reset --reason re-importing all statements --dry-run
aeat app ledger reset --reason re-importing all statements --dry-run
Bucket	<profile-id>
Rows	1
Reset	False
DRY RUN MODE	True
2Clear the whole ledger for the active profile.
aeat app ledger reset --reason re-importing all statements --yes
aeat app ledger reset --reason re-importing all statements --yes
Bucket	<profile-id>
Rows	1
Reset	True
DRY RUN MODE	False
3Confirm no transactions remain.
aeat --format json app ledger list
aeat --format json app ledger list
{
  "active_profile": "docs-sequence-sandbox",
  "command": "ledger.list",
  "notices": [],
  "result": {
    "bucket_id": "<bucket-id>",
    "limit": null,
    "offset": 0,
    "rows": [],
    "shown": 0,
    "total": 0,
    "truncated": false
  },
  "schema_version": "2",
  "status": "success"
}

Confirm the reset cleared the active ledger.

A visszaállítás kiüríti az aktív profil teljes ledgerét. Használja a tranzakciók útmutatót a bankszámlakivonatai alapján való újraépítéséhez.

Hol kérhet segítséget

Ha egy parancs elutasítja a műveletet vagy hibázik, nézze meg a hibaelhárítási útmutatót. Az ismeretlen kifejezéseket a szójegyzék magyarázza el. Mielőtt bárkivel megosztaná a parancs kimenetét, távolítsa el az adóazonosítókat, például a NIF-jét, CIF-jét, DNI-jét, NIE-jét vagy NII-jét.

Következő lépések