Revisa càlculs amb Google Sheets¶
Aquesta pàgina tracta la revisió en full de càlcul d’un càlcul de modelo: exportar-lo a Google Sheets, comprovar com s’arriba a cada total amb fórmules en directe i baixar les teves edicions revisades com a entrades de presentació tipades. La baixada retorna aquestes edicions sense fer-les persistents. Aquest flux de treball serveix per revisar valors calculats un cop el teu perfil i les teves transaccions estan a punt. No és una eina d’importació d’extractes bancaris ni d’edició massiva.
Google Sheets és la superfície de revisió. El codi també conté un serialitzador .xlsx fora de línia, però la superfície d’ordres d’operador actual no l’exposa. Fes servir Google Sheets quan vulguis revisar i ajustar.
Les ordres de configuració local d’aquesta pàgina (estat, vinculació de carpeta, tancament de sessió) i les comprovacions de preparació del ledger s’executen en directe en el moment de la generació. Les ordres que accedeixen a Google Drive i Sheets s’executen contra el teu propi compte autoritzat i no pas a l’entorn de proves de la documentació, de manera que es mostren com a marcs només il·lustratius.
Abans de començar¶
Necessites:
un perfil actiu; consulta Configura el teu perfil de contribuent
dades de transaccions classificades; consulta Importa i gestiona transaccions
un modelo i un període prou a punt per calcular
un fitxer de credencials de l’API de Google (un JSON de client OAuth d’escriptori de la Google Cloud Console)
l’ID d’una carpeta de Google Drive on Cadrumo hauria de crear els fulls de càlcul (copia l’ID de l’URL de la carpeta a Google Drive)
Cadrumo crea la seva carpeta cadrumo-vault/ dins d’aquella carpeta de Drive. No utilitza cap carpeta aeat-vault/ antiga; exporta un llibre de treball nou abans de baixar edicions cap a Cadrumo.
Configura l’accés a Google¶
Registra el client OAuth d’escriptori per al perfil actiu i executa el flux de consentiment. Tots dos accedeixen a Google, de manera que aquí són només il·lustratius:
aeat config google register --client-json ./client_secret.jsonaeat config google register --client-json ./client_secret.jsonaeat config google loginaeat config google loginComprova l’estat de Google i estableix la carpeta de Drive on Cadrumo crearà els fulls de càlcul. Aquestes són ordres de configuració local, de manera que aquí s’executen. En un perfil no configurat, l’estat mostra no connectat, i la carpeta que estableixes es torna a mostrar literalment:
aeat --format json config google statusaeat --format json config google status{ "active_profile": "docs-sequence-sandbox", "command": "config.google.status", "notices": [], "result": { "account_email": null, "client_id": null, "client_registered": false, "granted_scopes": [], "issued_at": null, "last_refresh_at": null, "operation": "config.google.status", "profile": "<profile-id>", "reauth_required": null, "session_present": false }, "schema_version": "2", "status": "success" }
aeat config google folder set docs-folder-123aeat config google folder set docs-folder-123operation config.google.folder.set profile <profile-id> root_folder_id docs-folder-123
aeat --format json config google folder viewaeat --format json config google folder view{ "active_profile": "docs-sequence-sandbox", "command": "config.google.folder.view", "notices": [], "result": { "configured": true, "operation": "config.google.folder.view", "profile": "<profile-id>", "root_folder_id": "docs-folder-123" }, "schema_version": "2", "status": "success" }
Confirm the Drive folder binding reads back the value you set.
Prova la connexió un cop el client OAuth està registrat. La prova accedeix a Google, de manera que aquí és només il·lustrativa:
aeat config google probeaeat config google probeLa integració de Google està limitada al perfil. Si canvies de perfil, torna a comprovar l’estat de Google i la vinculació de carpeta.
Exporta un llibre de treball de càlcul¶
Exporta la superfície de càlcul del registre per a un modelo, un any i un període. L’exportació crea un llibre de treball de Google Sheets dins de l’àrea cadrumo-vault/ configurada a Drive:
aeat app modelo spreadsheet push --modelo 303 --year 2026 --period 1Taeat app modelo spreadsheet push --modelo 303 --year 2026 --period 1TÉs una superfície de revisió de càlcul, no una exportació d’extracte bancari. Fes servir aeat app ledger export quan necessitis una instantània CSV, JSONL o XLSX de les files del ledger.
Fes servir --prefill-relations només quan vulguis que el full de càlcul inclogui valors arrossegats de presentacions relacionades, com ara resums anuals o arrossegaments de trimestres anteriors.
Baixa les teves edicions¶
Després de revisar o editar el llibre de treball, baixa les edicions tipades del full. Afegeix --assemble-observations quan vulguis que la sortida de l’ordre inclogui les dades editades a nivell de fila assemblades com a observacions estructurades. L’ordre no fa persistents aquestes observacions:
aeat app modelo spreadsheet pull --modelo 303 --year 2026 --period 1T --spreadsheet-id \
<spreadsheet-id>aeat app modelo spreadsheet pull --modelo 303 --year 2026 --period 1T --spreadsheet-id `
<spreadsheet-id>L’ordre de baixada comprova que el full de càlcul pertany al perfil actual i que coincideix amb el període de presentació esperat. Si es nega, torna a exportar i torna a provar-ho des del full de càlcul nou.
Calcula els valors de casilla a partir del full¶
Executa compute quan vulguis que Cadrumo calculi els valors de casilla a partir de les edicions del full. Baixa les cel·les editades per l’operador, hi executa el motor de càlcul i mostra el resultat. No fa res persistent:
aeat app modelo spreadsheet calculate --modelo 303 --year 2026 --period 1T \
--spreadsheet-id <spreadsheet-id>aeat app modelo spreadsheet calculate --modelo 303 --year 2026 --period 1T `
--spreadsheet-id <spreadsheet-id>L’ordre compute comprova que el full de càlcul coincideix amb el període de presentació esperat. Si es nega, torna a exportar i torna a provar-ho des del full de càlcul nou.
Comprova el càlcul del full de càlcul¶
Executa l’ordre de verificació de calc-sheets per al mateix modelo, any i període. Si tens un JSON d’escenari amb entrades d’operador i sortides esperades de l’Agencia Estatal de Administración Tributaria (AEAT), passa’l explícitament amb --scenario:
aeat app modelo spreadsheet verify --modelo 303 --year 2026 --period 1Taeat app modelo spreadsheet verify --modelo 303 --year 2026 --period 1Taeat app modelo spreadsheet verify --modelo 303 --year 2026 --period 1T --scenario \
./scenario.jsonaeat app modelo spreadsheet verify --modelo 303 --year 2026 --period 1T --scenario `
./scenario.jsonLa verificació compara les superfícies de càlcul implementades per l’aplicació. No presenta cap declaració a l’AEAT.
Fes una còpia de seguretat dels teus registres xifrats a Drive¶
Conserva una còpia fora de la màquina dels teus registres xifrats reflectint-los a la carpeta de Drive configurada. Previsualitza primer amb --dry-run; informa de què es pujaria per àrea d’emmagatzematge sense canviar res. Limita una pujada gran amb --namespace o --limit:
aeat config profile archive push --dry-runaeat config profile archive push --dry-runaeat config profile archive pushaeat config profile archive pushNomés es puja text xifrat. Els teus registres surten de la màquina exactament tal com estan xifrats al disc, i la clau mestra mai no surt del teu ordinador, de manera que la còpia de Drive és il·legible sense ella. El mirall és unidireccional: Cadrumo escriu la còpia i mai no torna a llegir Drive com a font de veritat dels teus registres.
Tanca la sessió de Google¶
Esborra la sessió de Google per al perfil actiu. El tancament de sessió és una ordre local, de manera que aquí s’executa. Elimina el testimoni de sessió desat i les seves metadades. El client OAuth registrat es conserva a propòsit, de manera que un aeat config google login posterior pot tornar a iniciar sessió sense tornar a importar el JSON de la Cloud Console:
aeat --format json config google logoutaeat --format json config google logout{ "active_profile": "docs-sequence-sandbox", "command": "config.google.logout", "notices": [], "result": { "client_preserved": true, "metadata_removed": false, "operation": "config.google.logout", "profile": "<profile-id>", "token_removed": false }, "schema_version": "2", "status": "success" }
Confirm the Google session clears for the active profile.
On encaixa això¶
Fes servir això després de la revisió i la classificació de transaccions. Confirma que el període està a punt abans de refiar-te del llibre de treball de càlcul:
aeat app ledger preflight --year 2026 --period 1Taeat app ledger preflight --year 2026 --period 1Tbucket <profile-id> period 2026 1T checked 2 issues 2 ready false issue 71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518 missing_business_classification business classification 'NOT_YET_PROCESSED' is not ready for modelo calculation issue e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d missing_business_classification business classification 'NOT_YET_PROCESSED' is not ready for modelo calculation
aeat --format json app ledger status --year 2026 --period 1Taeat --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": "0", "business_income_total": "0", "business_net_total": "0", "checked_transaction_count": 2, "pending_review_count": 2, "period": { "code": "1T", "filing_year": 2026 }, "readiness_issue_count": 2, "readiness_issues": [ { "business_classification": "NOT_YET_PROCESSED", "category_id": null, "detail": "business classification 'NOT_YET_PROCESSED' is not ready for modelo calculation", "iva_amount": null, "iva_rate": null, "reason": "missing_business_classification", "taxable_base": null, "transaction_id": "71a5db2bb891df295bee72544c40497d24d5c8cfc7edab745ce7339dcf8d6518", "transaction_present": true }, { "business_classification": "NOT_YET_PROCESSED", "category_id": null, "detail": "business classification 'NOT_YET_PROCESSED' is not ready for modelo calculation", "iva_amount": null, "iva_rate": null, "reason": "missing_business_classification", "taxable_base": null, "transaction_id": "e3eeac5e306efe4e82a72896e92e7c236245ec85348834b2c10b120c67fe087d", "transaction_present": true } ], "ready": false, "reviewed_count": 0, "skipped_count": 0, "split_count": 0, "stale_filings": [], "stashed_count": 0, "total_count": 2, "unconverted_currency_count": 0 }, "schema_version": "2", "status": "success" }
Confirm the period's readiness before relying on the workbook.
Si al ledger encara li falten categories, camps d’IVA, divisa o referències de proporcionalitat, acaba-les a Classifica transaccions abans de refiar-te del llibre de treball de càlcul.
Per a les entrades manuals a nivell de casilla, els bindings, els desplaçaments i les revisions, fes servir Revisa i aporta entrades de càlcul.
Passos següents¶
Importació, exportació i evidència - entén per què un full de Google és una superfície de revisió i no pas evidència de presentació o autoritat de càlcul.