Salta al contingut principal

90 entrades etiquetades amb "Accounting"

Veure totes les etiquetes

Ajustos en Beancount: La teva posada a punt de final de mes

· 5 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

La comptabilitat no acaba quan l'última venda arriba al banc. Per obtenir una imatge real de la salut del teu negoci, has de fer una posada a punt a final de mes. A cada tancament de període, faràs ajustos—retocs al diari que col·loquen correctament els ingressos i les despeses a la finestra de temps adequada i mantenen el teu balanç honest.

En un llibre Beancount de text pla, aquests ajustos crucials són transparents, controlats per versions i fàcils d'auditar, convertint una tasca tediosa en un procés clar i repetible.

2022-01-25-adjusting-entries-in-beancount-your-month-end-tune-up


Per què importen els ajustos

Fer aquests ajustos és fonamental per a una comptabilitat sòlida. Asseguren que els teus estats financers siguin precisos i fiables.

  • Precisió del devengament: Els ajustos són el motor de la comptabilitat de devengament. Traslladen els ingressos i els costos al període en què realment es van obtenir o incórrer, independentment de quan es va produir el moviment de caixa. Això satisfà els principis bàsics de reconeixement d'ingressos i d'aparellament que formen la base de la comptabilitat moderna (AccountingCoach.com).

  • KPI fiables: Els indicadors clau de rendiment són tan bons com les dades que hi ha al darrere. Mètriques com el marge brut, l'ingrés net i les previsions de flux de caixa només diuen la veritat un cop els diferiments, els devengaments i les estimacions s'han registrat correctament (Corporate Finance Institute).

  • Auditoria neta: Els ajustos explícits de final de mes creen un registre clar del teu raonament financer. Això ajuda els auditors (i al teu jo futur) a rastrejar fàcilment què ha canviat i per què, generant confiança en els teus números (Accountingverse).


Sis categories comunes (amb fragments de Beancount)

Aquí teniu els sis tipus d'ajustos més comuns, amb exemples de com registrar-los al vostre llibre Beancount. Observeu l'ús de metadades com adj:"devengament" per facilitar la cerca i l'anàlisi d'aquests ajustos més endavant.

1. Ingressos devengats

Això és per als ingressos que has guanyat però que encara no has facturat o rebut el pagament.

2025-07-31 * "Consultoria—hores de juliol"
Actiu:Clients 12000.00 USD
Ingressos:Consultoria
; adj:"devengament" periode:"Jul-25"

2. Despesa devengada

Una despesa en què has incorregut però que encara no has pagat, com una factura de serveis que arribarà el mes vinent.

2025-07-31 * "Advocat—Retenció de juliol"
Despeses:Legals 2500.00 USD
Passiu:FacturesPendents
; adj:"devengament"

3. Ingressos diferits (no guanyats)

Això s'aplica quan un client et paga per avançat. Reconeixes una part d'aquests ingressos a mesura que es guanyen amb el temps.

2025-07-31 * "Prepagament anual SaaS (reconeix 1/12)"
Passiu:IngressosDiferits 833.33 USD
Ingressos:SaaS
; adj:"diferiment"

4. Despesa prepagada (diferida)

Quan pagues una despesa per avançat (com una pòlissa d'assegurança anual), despeses una part cada mes.

2025-07-31 * "Assegurança—1 mes de despesa de prepagament"
Despeses:Assegurança 400.00 USD
Actiu:AssegurançaPrepagada
; adj:"diferiment"

5. Amortització

Aquesta entrada assigna el cost d'un actiu a llarg termini (com un ordinador o un vehicle) durant la seva vida útil.

2025-07-31 * "Amortització de Mac Studio"
Despeses:Amortització 1250.00 USD
Actiu:Ordinadors:AmortitzacióAcumulada
; asset_id:"MAC-03" adj:"estimació"

6. Provisió per a deutes dubtosos

Una estimació dels comptes a cobrar que no esperes cobrar, que es registra com a despesa per deutes incobrables.

2025-07-31 * "Provisió per a deutes incobrables (2% de Clients)"
Despeses:DeutesIncobrables 700.00 USD
Actiu:ProvisióDeutesDubtosos
; base:"Clients" taxa:0.02 adj:"estimació"

Un flux de treball repetible

Per mantenir el tancament de final de mes eficient i sense errors, adopta un flux de treball consistent.

  • Utilitza un fitxer separat. Mantén tots els ajustos d'un període en un sol lloc, com ajustos-2025-07.bean. Al fitxer principal del llibre, utilitza una directiva include per importar-lo al final. Això garanteix que els ajustos s'apliquen just abans de generar els informes finals.

  • Estandarditza les teves metadades. Utilitza sempre claus i valors de metadades coherents, com adj:"devengament|diferiment|estimació" i periode:"Jul-25". Això facilita la consulta i la revisió de tipus específics d'ajustos.

  • Executa una comprovació prèvia. Abans de confirmar els canvis a Git, executa bean-check al fitxer d'ajustos per detectar errors tipogràfics o registres desequilibrats.

  • Realitza una comprovació de sanitat d'una línia. Aquesta consulta confirma que tots els ajustos del període es compensen, donant-te confiança que no has introduït errors.

    bean-query main.bean "SELECT account, SUM(number) WHERE meta('adj') AND meta('periode') = 'Jul-25' GROUP BY account"

Consells ràpids per a la resolució de problemes 🤔

  • El saldo de Passiu:IngressosDiferits està pujant? Revisa els teus fites del contracte. Potser estàs reconeixent els ingressos massa lentament en comparació amb la feina que estàs lliurant.

  • El saldo de Actiu:AssegurançaPrepagada és negatiu? Probablement ho estàs despesant més ràpidament del que permet el calendari de l'actiu. Revisa el teu calendari d'amortització.

  • Els teus dies de vendes pendents (DSO) estan empitjorant després dels devengaments? Els teus ingressos devengats poden estar emmascarant problemes de cobrament subjacents. Combina aquest KPI amb un informe d'envelliment de comptes a cobrar per detectar clients que paguen tard abans que es converteixi en un problema de flux de caixa.


Reflexions finals

Els ajustos poden semblar tediosos, però el seu valor es fa evident quan compares els teus comptes de resultats "abans" i "després"—la diferència sovint és material. Amb Beancount, aquests ajustos es converteixen en petits pegats que es poden cercar, automatitzar i revisar com a codi.

Crea l'hàbit de final de mes i els teus números es mantindran tan precisos com la teva enginyeria.

Feliç equilibri!

Revolucionant la Gestió de les Finances Personals amb Beancount.io

· 4 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Tradicionalment, els usuaris de Beancount utilitzen eines de línia d'ordres o allotgen servidors amb xarxes privades, on han d'operar a través d'un ordinador o un editor de text de propòsit general al mòbil. Beancount.io redueix les molèsties oferint aplicacions mòbils de codi obert per a Android i iOS i un núvol segur, de manera que el vostre llibre major ara és a pocs tocs de la vostra empremta digital.

Beancount és un llenguatge informàtic que permet la comptabilitat de partida doble en fitxers de text. Un cop definiu les transaccions financeres al fitxer, generarà diversos informes. Martin Blais, el dissenyador d'aquest llenguatge, argumenta que la comptabilitat per línia d'ordres té molts avantatges: és ràpida, portàtil, oberta i personalitzada.

Estem totalment d'acord amb l'argument i compartim la sensació d'empoderament que aporta el llenguatge Beancount. I volíem fer més, introduir la tecnologia a més gent. Això significa que hem de millorar la usabilitat i fer-la més accessible a un públic més ampli.

2022-01-08-instant-access-to-your-beancount-cloud-ledger-anytime-anywhere

No tothom és un entusiasta de la línia d'ordres, i per això hem creat Beancount.io, el gestor de finances personals per a tothom. Així és com funciona:

Per a treballs intensius, els usuaris de Beancount encara podrien utilitzar els seus ordinadors per editar o veure el llibre major amb els seus navegadors visitant https://beancount.io o sincronitzant-se amb Dropbox. Això manté la flexibilitat de les eines de línia d'ordres, sense perdre l'accés entre dispositius de la solució basada en el núvol.

Per a operacions diàries lleugeres, com ara afegir una entrada a l'instant, els usuaris de Beancount podrien utilitzar l'aplicació mòbil per connectar-se al núvol segur.

Mike Thrift, un enginyer de backend que treballa en aquest producte, diu:

Abans em posava un recordatori cada dia per obrir el portàtil i introduir registres als meus fitxers Beancount. Ara, amb beancount.io, és molt més fàcil per a mi modificar el meu llibre major sempre que ho necessiti, fins i tot quan estic fora comprant alguna cosa a la botiga.

Zhi Li, un enginyer de programari de Facebook, ens diu:

He migrat tots els meus fitxers Beancount a beancount.io, i ara funciona perfectament per al meu ús diari. He pagat per funcions Pro com la còpia de seguretat automàtica de dades, però crec que hi ha més coses que podríeu fer per millorar el servei.

Podeu registrar-vos ara a https://beancount.io/sign-up/ o descarregar l'aplicació per a iOS o l'aplicació per a Android. Hem simplificat el registre per recollir la mínima informació possible de vosaltres per iniciar el servei. Llavors obtindreu un llibre major buit preestablert que estarà llest perquè afegiu una entrada de seguida.

Preguntes Freqüents

Beancount.io vendria les meves dades del llibre major a tercers?

  • No. Ens comprometem a mantenir les vostres dades segures i privades, i mai vendrem les vostres dades del llibre major.

Les meves dades estan segures?

  • Sí. Protegim el vostre correu electrònic i llibre major amb AES256, la vostra contrasenya amb BCrypt i les vostres sol·licituds de xarxa amb SSL.

Les meves dades del llibre major estan xifrades d'extrem a extrem?

  • No. A causa de limitacions tècniques, encara hem de desxifrar les vostres dades a la memòria quan indexem el fitxer del llibre major als servidors de producció. Per tant, restringim l'accés directe de qualsevol membre del nostre equip. Malauradament, no podem fer-ho amb Intel SGX ni amb cap compartiment de seguretat a causa dels alts costos.

És un servei fiable en el qual pugui confiar durant els propers anys?

  • Sí. Vam llançar Beancount.io el 4 de juliol de 2019, i ja fa més de dos anys que operem el servei de manera segura i fiable. Per tant, no tenim cap raó per no continuar el servei en el futur.

Puc sol·licitar noves funcions i patrocinar el projecte?

Guia de migració de QuickBooks a Beancount

· 34 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Fase 1: Exportació de dades des de QuickBooks

Migrar cinc anys de dades comença per extreure tots els registres de QuickBooks en un format utilitzable. QuickBooks Desktop i QuickBooks Online tenen diferents opcions d'exportació:

2021-12-01-from-quickbooks-to-plain-text-a-migration-playbook

1.1 QuickBooks Desktop – Opcions d'exportació

IIF (Intuit Interchange Format): QuickBooks Desktop pot exportar llistes (com el pla de comptes, clients, proveïdors) a fitxers de text .IIF. A QuickBooks Desktop, aneu a File → Utilities → Export → Lists to IIF i, a continuació, seleccioneu les llistes que necessiteu (p. ex., Pla de comptes, Clients, Proveïdors). Això genera un fitxer de text que inclou noms de comptes, tipus i dades de les llistes. L'IIF és un format propietari però de text pla que és relativament fàcil d'analitzar. Utilitzeu-lo per capturar el vostre Pla de comptes i les llistes de contactes com a referència a Beancount.

Llibre major/Diari via CSV: Per a les dades de transaccions, QuickBooks Desktop no ofereix una exportació completa amb un sol clic, però podeu utilitzar informes. El mètode recomanat és exportar el General Journal (totes les transaccions) per al rang de dates desitjat. A QuickBooks Desktop, obriu Reports → Accountant & Taxes → Journal, establiu les dates des de la primera transacció fins avui i feu clic a Export → Excel. Deseu el resultat com a CSV després d'eliminar les capçaleres/peus de pàgina de l'informe i les columnes buides. Assegureu-vos que les dades numèriques estiguin netes: incloeu els cèntims (p. ex., 3.00, no 3), sense cometes addicionals i sense símbols de moneda o dobles negatius al CSV. El CSV hauria de tenir columnes com Date, Trans #, Name, Account, Memo, Debit, Credit, Balance (o una única columna Amount segons el format de l'informe).

Consell: QuickBooks Desktop 2015+ també pot exportar transaccions a través del diàleg Find. Utilitzeu Edit → Find → Advanced, establiu el rang de dates de cinc anys i després exporteu els resultats a CSV. Avís: Algunes versions limiten l'exportació a 32.768 línies. Si teniu dades molt grans, exporteu any per any (o en blocs més petits) per evitar el truncament i, posteriorment, combineu-los. Assegureu-vos que els rangs de dates no se superposin per evitar duplicats.

Altres formats (QBO/QFX/QIF): QuickBooks Desktop pot importar transaccions bancàries mitjançant fitxers .QBO (Web Connect) o .QFX/.OFX, però per exportar des de QuickBooks, aquests no són típics. Si el vostre objectiu és extreure només les transaccions bancàries, és possible que ja les tingueu en format QBO/OFX del vostre banc. No obstant això, per a una exportació completa del llibre major, utilitzeu IIF i CSV. QuickBooks Desktop no pot exportar directament a QIF (Quicken Interchange Format) sense eines de tercers. Si trobeu una manera d'obtenir QIF, tingueu en compte que algunes eines de llibres comptables (versions antigues de Ledger 2.x) podien llegir QIF, però és millor treballar amb CSV en el nostre procés.

1.2 QuickBooks Online – Opcions d'exportació

Exportació integrada a Excel/CSV: QuickBooks Online (QBO) ofereix una eina d'Export Data. Aneu a Settings ⚙ → Tools → Export Data. Al diàleg d'exportació, utilitzeu la pestanya Reports per seleccionar les dades (p. ex., General Ledger o Transaction List) i la pestanya Lists per a les llistes (pla de comptes, etc.), trieu All dates i exporteu a Excel. QuickBooks Online descarregarà un ZIP que conté diversos fitxers Excel per als informes i llistes seleccionats (per exemple, Compte de Pèrdues i Guanys, Balanç de Situació, Llibre Major, Clients, Proveïdors, Pla de Comptes, etc.). Després podeu convertir aquests fitxers Excel a CSV per processar-los.

Informe de detall de transaccions: Si l'exportació per defecte de QBO no inclou un únic fitxer de Llibre Major, podeu executar manualment un informe detallat:

  1. Aneu a Reports i cerqueu Transaction Detail by Account (o General Ledger en algunes versions de QBO).
  2. Establiu el Report period al rang complet de cinc anys.
  3. A les opcions de l'informe, establiu Group by = None (per llistar les transaccions individuals sense subtotals).
  4. Personalitzeu les columnes per incloure com a mínim: Date, Transaction Type, Number, Name (Payee/Customer), Memo/Description, Account, Debit, Credit (o una única columna Amount) i Balance. Incloeu qualsevol classe o ubicació si s'utilitza.
  5. Executeu l'informe i després feu clic a Export to Excel.

Això genera un llibre major detallat de totes les transaccions. Deseu-lo com a CSV. Cada línia representarà una partida (apunt) d'una transacció. Més endavant haureu d'agrupar les línies per transacció per a la conversió.

Pla de comptes i altres llistes: QuickBooks Online pot exportar el pla de comptes mitjançant Accounting → Chart of Accounts → Batch Actions → Export to Excel. Feu-ho per obtenir els noms i tipus de comptes. De la mateixa manera, exporteu Clients, Proveïdors, etc., si voleu traspassar els noms per a les metadades.

API de QuickBooks Online (Opcional): Per a un enfocament programàtic, Intuit ofereix una API REST per a les dades de QBO. Els usuaris avançats poden crear una aplicació de QuickBooks Online (requereix un compte de desenvolupador) i utilitzar l'API per obtenir dades en format JSON. Per exemple, podríeu consultar l'endpoint Account per al pla de comptes i els endpoints de l'informe JournalEntry o GeneralLedger per a les transaccions. Hi ha SDKs de Python com python-quickbooks que encapsulen l'API. No obstant això, l'ús de l'API implica autenticació OAuth i és excessiu per a una migració única, tret que preferiu l'automatització. Per a la majoria dels casos, l'exportació manual a CSV/Excel és més senzilla i menys propensa a errors.


Fase 2: Transformació i neteja de dades

Un cop teniu les dades de QuickBooks en CSV (i/o IIF), el següent pas és convertir-les al format de llibre comptable de text pla de Beancount. Això implica analitzar les exportacions, mapejar els comptes de QuickBooks a un pla de comptes de Beancount i formatar les transaccions en la sintaxi de Beancount.

2.1 Anàlisi d'exportacions de QuickBooks amb Python

L'ús de Python garantirà la precisió i la reproductibilitat de la transformació. Descriurem scripts per a dues tasques clau: importar el pla de comptes i convertir les transaccions.

Importació i mapeig de comptes: És crucial configurar els vostres comptes a Beancount abans d'afegir transaccions. Els comptes de QuickBooks tenen tipus (Bank, Accounts Receivable, Expense, etc.) que mapejarem a la jerarquia de Beancount (Assets, Liabilities, Income, Expenses, etc.). Per exemple, podem utilitzar un mapeig com aquest:

# Mapeig del tipus de compte de QuickBooks a la categoria arrel de Beancount
AccountTypeMap = {
'BANK': 'Assets',
'CCARD': 'Liabilities',
'AR': 'Assets', # Comptes a cobrar com a actiu
'AP': 'Liabilities', # Comptes a pagar com a passiu
'FIXASSET': 'Assets',
'OASSET': 'Assets', # Altres actius
'OCASSET': 'Assets', # Altres actius corrents
'LTLIAB': 'Liabilities', # Passius a llarg termini
'OCLIAB': 'Liabilities', # Altres passius corrents
'EQUITY': 'Equity',
'INC': 'Income',
'EXP': 'Expenses',
'EXINC': 'Income', # Altres ingressos
'EXEXP': 'Expenses', # Altres despeses
}

Utilitzant l'exportació IIF de QuickBooks Desktop o el CSV de la llista de comptes de QBO, recuperem el nom i el tipus de cada compte. Després:

  • Crear noms de compte de Beancount: QuickBooks de vegades utilitza dos punts (:) als noms de compte per denotar subcomptes (p. ex., "Current Assets:Checking"). Beancount utilitza la mateixa notació de dos punts per a la jerarquia. Sovint podeu reutilitzar el nom directament. Si els noms de compte de QuickBooks no comencen amb una categoria, afegiu-hi la categoria mapejada. Per exemple, un compte de QuickBooks de tipus BANK anomenat "Checking" es convertirà en Assets:Checking a Beancount. Un compte EXP (despesa) "Meals" es converteix en Expenses:Meals, etc.

  • Assegurar una nomenclatura vàlida: Elimineu o substituïu qualsevol caràcter que pugui confondre Beancount. QuickBooks permet caràcters com & o / als noms. És aconsellable eliminar o substituir caràcters especials (p. ex., substituir & per and, eliminar barres o espais). A més, assegureu-vos que tots els noms de compte siguin únics després de la transformació: QuickBooks pot haver permès el mateix nom de subcompte sota diferents pares, la qual cosa és correcte, però a Beancount el nom complet (amb els pares) ha de ser únic. Si cal, canvieu el nom o afegiu un qualificador per distingir-los.

  • Generar obertures de comptes: A Beancount, cada compte utilitzat ha de ser obert amb una directiva open. Podeu triar una data anterior a la vostra primera transacció (p. ex., si migreu dades de 2019 a 2023, utilitzeu 2018-12-31 o una data encara anterior per a totes les obertures). L'script escriurà línies com: 2018-12-31 open Assets:Checking USD 2018-12-31 open Expenses:Meals USD per a cada compte (suposant que l'USD és la moneda principal). Utilitzeu la moneda adequada per a cada compte (vegeu les notes sobre multidivisa a continuació).

Conversió de transaccions: El principal repte és convertir l'exportació de transaccions de QuickBooks (CSV) a assentaments de Beancount. Cada transacció de QuickBooks (factura, rebut, xec, assentament de diari, etc.) pot tenir múltiples partides (línies) que s'han d'agrupar en una única transacció de Beancount.

Utilitzarem el lector de CSV de Python per iterar sobre les línies exportades i acumular les partides:

import csv
from collections import defaultdict

# Llegeix totes les línies del CSV del Diari exportat de QuickBooks
rows = []
with open('quickbooks_exported_journal.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for line in reader:
rows.append(line)

# Agrupa les línies per transacció (suposant que 'Trans #' identifica les transaccions)
transactions = defaultdict(list)
for line in rows:
trans_id = line.get('Trans #') or line.get('Transaction ID') or line.get('Num')
transactions[trans_id].append(line)

Ara transactions és un diccionari on cada clau és un ID/número de transacció i el valor és la llista de partides per a aquesta transacció. A continuació, convertim cada grup a Beancount:

def format_date(qb_date):
# Les dates de QuickBooks poden ser com "12/31/2019"
m, d, y = qb_date.split('/')
return f"{y}-{int(m):02d}-{int(d):02d}"

output_lines = []
for trans_id, splits in transactions.items():
# Ordena les partides per ordre de línia si cal (normalment ja vénen en ordre)
splits = sorted(splits, key=lambda x: x.get('Line') or 0)
first = splits[0]
date = format_date(first['Date'])
payee = first.get('Name', "").strip()
memo = first.get('Memo', "").strip()
# Capçalera de la transacció
output_lines.append(f"{date} * \"{payee}\" \"{memo}\"")
if first.get('Num'): # inclou el número de referència si està disponible
output_lines.append(f" number: \"{first['Num']}\"")
# Itera sobre cada partida/apunt
for split in splits:
acct_name = split['Account'].strip()
# Mapeja el nom del compte de QuickBooks al compte de Beancount (utilitzant el mapeig anterior)
beancount_acct = account_map.get(acct_name, acct_name)
# Determina l'import amb signe:
amount = split.get('Amount') or ""
debit = split.get('Debit') or ""
credit = split.get('Credit') or ""
if amount:
# Algunes exportacions tenen una única columna Amount (negativa per als crèdits)
amt_str = amount
else:
# Si hi ha columnes Debit/Credit separades
amt_str = debit if debit else f"-{credit}"
# Elimina les comes dels números per seguretat
amt_str = amt_str.replace(",", "")
# Afegeix la moneda
currency = split.get('Currency') or "USD"
amt_str = f"{amt_str} {currency}"
# Concepte/descripció de la partida
line_memo = split.get('Memo', "").strip()
comment = f" ; {line_memo}" if line_memo else ""
output_lines.append(f" {beancount_acct:<40} {amt_str}{comment}")
# Final de la transacció – línia en blanc
output_lines.append("")

Aquesta lògica de l'script fa el següent:

  • Formata la data a YYYY-MM-DD per a Beancount.

  • Utilitza el beneficiari (Name) i el concepte (Memo) per a la narració de la transacció. Per exemple: 2020-05-01 * "ACME Corp" "Pagament de factura" (Si no hi ha beneficiari, podríeu utilitzar el Tipus de transacció de QuickBooks o deixar el beneficiari entre cometes buides).

  • Afegeix una metadada number si hi ha un número de referència (núm. de xec, núm. de factura, etc.).

  • Itera sobre cada línia de partida:

    • Mapeja el nom del compte de QuickBooks al compte de Beancount mitjançant un diccionari account_map (poblat a partir del pas del pla de comptes).
    • Determina l'import. Depenent de la vostra exportació, podeu tenir una única columna Amount (amb valors positius/negatius) o columnes de Dèbit i Crèdit separades. El codi anterior gestiona ambdós casos. Assegura que els crèdits es representin com a imports negatius per a Beancount (ja que a Beancount s'utilitza un únic número amb signe per apunt).
    • Afegeix la moneda (suposant USD tret que hi hagi una columna de moneda diferent).
    • Escriu la línia d'apunt de Beancount amb el compte, l'import i un comentari amb el concepte de la línia. Per exemple: Assets:Checking 500.00 USD ; Dipòsit Income:Sales -500.00 USD ; Dipòsit Això reflecteix un dipòsit de $500 (d'Ingressos a Compte Corrent).
  • Després de llistar totes les partides, una línia en blanc separa la transacció.

Gestió de multidivisa: Si les vostres dades de QuickBooks inclouen múltiples monedes, incloeu el codi de la moneda a cada apunt (com es mostra a dalt). Assegureu-vos que els comptes en monedes estrangeres s'obrin amb aquesta moneda. Per exemple, si teniu un compte bancari en EUR, generaríeu open Assets:Bank:Checking EUR i les transaccions en aquest compte utilitzaran EUR. Beancount admet llibres comptables multidivisa i farà un seguiment de les conversions implícites, però potser haureu d'afegir entrades de preus per als tipus de canvi si voleu la conversió a una moneda base als informes. També es recomana declarar la vostra moneda operativa principal a la part superior del fitxer de Beancount (p. ex., option "operating_currency" "USD").

Execució de la conversió: Deseu l'script de Python (per exemple, com a qb_to_beancount.py) i executeu-lo sobre els vostres fitxers exportats. Hauria de produir un fitxer .beancount que contingui tots els comptes i transaccions.

2.2 Gestió de casos especials i neteja de dades

Durant la transformació, tingueu en compte aquests problemes comuns i com abordar-los:

  • Incongruències en els noms de comptes: QuickBooks pot tenir noms de comptes que entren en conflicte amb els noms jeràrquics de Beancount. Per exemple, QuickBooks podria tenir dos comptes pare diferents, cadascun amb un subcompte anomenat "Insurance". A Beancount, Expenses:Insurance ha de ser únic. Resoleu-ho canviant el nom d'un (p. ex., "Insurance-Vehicle" vs "Insurance-Health") abans de l'exportació o mapegeu-los a comptes de Beancount únics al vostre script. Unes convencions de nomenclatura coherents (sense caràcters especials i ús de la jerarquia) us estalviaran mals de cap. Utilitzeu l'enfocament del fitxer de remapeig si cal: mantingueu un CSV o diccionari de nom antic → nom nou de Beancount i apliqueu-lo durant la conversió (el nostre codi d'exemple utilitza un account_map i podria carregar substitucions des d'un fitxer).

  • Dates i formats: Assegureu-vos que totes les dates estiguin formatades de manera consistent. L'script anterior normalitza M/D/Y al format ISO. A més, aneu amb compte amb els problemes d'any fiscal vs. any natural si el vostre període de cinc anys travessa un final d'any. A Beancount no li importen els límits de l'any fiscal, però potser més endavant voldreu dividir els fitxers per any per comoditat.

  • Precisió numèrica: QuickBooks gestiona la moneda amb cèntims, així que treballar en cèntims sol ser correcte. Tots els imports haurien de tenir idealment dos decimals al CSV. Si alguns imports s'han convertit en enters (sense decimals) o tenen comes/parèntesis (per als negatius), netegeu-los a l'script (elimineu comes, convertiu (100.00) a -100.00, etc.). L'exportació a CSV, si es fa correctament (segons les instruccions), ja hauria d'evitar aquests problemes de format.

  • Imports negatius i signes: Els informes de QuickBooks de vegades mostren els negatius com a -100.00 o (100.00) o fins i tot --100.00 en certes exportacions d'Excel. El pas de neteja hauria de gestionar-ho. Assegureu-vos que els dèbits i crèdits de cada transacció sumin zero. Beancount ho exigirà (si no està saldat, llançarà un error en importar).

  • Duplicats de transaccions: Si heu hagut d'exportar transaccions per lots (p. ex., any per any o compte per compte), aneu amb compte de fusionar-los sense solapaments. Comproveu que la primera transacció d'un any no sigui també l'última del lot anterior, etc. És fàcil duplicar accidentalment algunes transaccions a les fronteres. Si sospiteu de duplicats, podeu ordenar els assentaments finals de Beancount per data i buscar entrades idèntiques, o utilitzar les etiquetes de transacció úniques de Beancount per detectar-los. Una estratègia és incloure els números de transacció de QuickBooks com a metadades (p. ex., utilitzar el Trans # o el número de factura com a etiqueta txn o metadada quickbooks_id) i després assegurar-se que no hi hagi duplicats d'aquests ID.

  • Partides no saldades / Comptes pont: QuickBooks pot tenir casos estranys com una transacció amb un desequilibri que QuickBooks ajusta automàticament a un compte de "Opening Balance Equity" o "Retained Earnings". Per exemple, en configurar els saldos inicials dels comptes, QuickBooks sovint apunta les diferències a un compte de Patrimoni Net. Aquests apareixeran a les transaccions exportades. Beancount requerirà un saldat explícit. És possible que hàgiu d'introduir un compte de Patrimoni Net per als saldos inicials (comunament Equity:Opening-Balances) per reflectir QuickBooks. És una bona pràctica tenir un assentament de saldos inicials el primer dia del vostre llibre comptable que estableixi els saldos inicials de tots els comptes (vegeu la Fase 5).

  • Casos especials de multidivisa: Si utilitzeu multidivisa, l'exportació de QuickBooks pot llistar tots els imports en la moneda local o en la seva moneda nativa. Idealment, obteniu les dades en la moneda nativa de cada compte (els informes de QuickBooks Online solen fer-ho). A Beancount, cada apunt porta una moneda. Si QuickBooks va proporcionar tipus de canvi o una conversió a la moneda local, podríeu ignorar-los i confiar en les entrades de preus de Beancount. Si QuickBooks no va exportar els tipus de canvi, potser voldreu afegir manualment registres de preus (p. ex., utilitzant la directiva price de Beancount) per a dates clau per igualar la valoració. No obstant això, per a la integritat bàsica del llibre comptable, n'hi ha prou que les transaccions saldin en les seves monedes originals; els guanys/pèrdues no realitzats no necessiten ser registrats explícitament tret que vulgueu els mateixos informes.

  • Comptes a cobrar / Comptes a pagar: QuickBooks fa un seguiment dels detalls de factures i rebuts (dates de venciment, estat de pagament, etc.) que no es transferiran completament a un llibre comptable pla. Obtindreu les transaccions de Comptes a Cobrar (A/R) i Comptes a Pagar (A/P) (factures que augmenten A/R, pagaments que disminueixen A/R, etc.), però no els documents de les factures ni els saldos de clients per factura. Com a resultat, després de la migració, hauríeu de verificar que els saldos dels vostres comptes A/R i A/P a Beancount siguin iguals als saldos pendents de clients/proveïdors a QuickBooks. Si necessiteu fer un seguiment de les factures, podríeu utilitzar les metadades de Beancount (p. ex., incloure una etiqueta invoice o un enllaç). Els números de factura de QuickBooks haurien d'haver arribat a través dels camps Num o Memo; el nostre script preserva el Num com a number: "..." a les metadades de la transacció.

  • Comptes inactius o tancats: L'exportació IIF pot incloure comptes inactius (si heu triat incloure'ls). Està bé importar-los (simplement no tindran transaccions i un saldo zero si són realment inactius). Podeu marcar-los com a tancats a Beancount després de la data de l'última transacció amb una directiva close. Això manté el vostre llibre comptable ordenat. Per exemple: 2023-12-31 close Expenses:OldAccount ; tancat després de la migració Això és opcional i principalment per neteja.

Netejant i mapejant acuradament les dades com s'ha descrit, tindreu un fitxer de llibre comptable de Beancount que reflecteix estructuralment les vostres dades de QuickBooks. El següent pas és verificar que també reflecteix numèricament QuickBooks.


Fase 3: Validació i conciliació de dades

La validació és una fase crítica en una migració de dades comptables. Hem d'assegurar que el llibre comptable de Beancount coincideixi amb els llibres de QuickBooks fins a l'últim cèntim. Es poden utilitzar diverses estratègies i eines:

3.1 Conciliació del balanç de comprovació

Un informe de balanç de comprovació (o balanç de sumes i saldos) llista els saldos finals de tots els comptes (amb dèbits i crèdits o positius/negatius indicats) i hauria de sumar zero. Executar un balanç de comprovació en ambdós sistemes per a la mateixa data és la manera més ràpida de confirmar la precisió general.

  • A QuickBooks: Executeu un informe de Trial Balance per a l'últim dia de l'any final (p. ex., 31 de desembre de 2023). Aquest informe mostra el saldo de cada compte. Exporteu-lo o anoteu les xifres clau.

  • A Beancount: Utilitzeu els informes de Beancount per generar un balanç de comprovació. Un mètode fàcil és a través de la línia de comandes:

    bean-report migrated.beancount balances

    L'informe balances és un balanç de comprovació que llista tots els comptes i els seus saldos. També podeu obrir el fitxer a Fava (la interfície web de Beancount) i mirar la secció Balances o Balance Sheet. Cada saldo de compte a Beancount hauria de coincidir amb el balanç de comprovació de QuickBooks. Per exemple, si QuickBooks mostra _Comptes a cobrar = 5.000,llavorselcompteAssets:AccountsReceivabledeBeancounthauriadesumar5.000_, llavors el compte Assets:Accounts Receivable de Beancount hauria de sumar 5.000 (dèbit). Si*Ingressos per vendes = 200.000,elcompteIncome:SalesaBeancounthauriademostrar200.000*, el compte Income:Sales a Beancount hauria de mostrar 200.000 (crèdit, que podria aparèixer com a -200.000 si s'utilitza un balanç de comprovació que presenta els crèdits com a negatius).

Si hi ha discrepàncies, localitzeu-les:

  • Comproveu si falta o sobra un compte sencer (hem oblidat un compte o n'hem inclòs un que ja estava tancat abans del període de migració?).
  • Si un saldo no quadra, aprofundiu: QuickBooks pot executar un Account QuickReport o un detall de llibre major per a aquest compte, i podeu comparar-lo amb el registre de Beancount per a aquest compte (bean-report migrated.beancount register -a NomDelCompte). De vegades, les diferències provenen d'una transacció que falta o d'un duplicat.

Verifiqueu també que la suma de tots els comptes sigui zero al balanç de comprovació de Beancount (imprimeix un total que hauria de ser zero o molt proper a zero). Beancount aplica la partida doble, així que si teniu algun desequilibri diferent de zero, significa que actius menys passius i patrimoni net no sumen zero, la qual cosa indica un problema (que QuickBooks normalment tampoc permetria, però podria passar si es van perdre algunes dades).

3.2 Comparacions de saldos de comptes

Més enllà del balanç de comprovació, podeu comparar estats financers específics:

  • Balanç de situació: Executeu un Balanç de Situació de QuickBooks per a la data final i un balanç de situació de Beancount (bean-report migrated.beancount balsheet). Això és similar al balanç de comprovació però organitzat per Actius, Passius i Patrimoni Net. Els números haurien de coincidir per categories. Per a una comprovació més granular, compareu els totals dels comptes principals: tresoreria, comptes a cobrar, actius fixos, comptes a pagar, patrimoni net, etc.

  • Compte de pèrdues i guanys (Compte de resultats): Executeu un Compte de Pèrdues i Guanys per al període de cinc anys (o any per any) a QuickBooks i a Beancount (bean-report migrated.beancount income per a un compte de resultats del període complet). El resultat net de Beancount hauria de ser igual al de QuickBooks per a cada període. Si heu migrat els cinc anys, el resultat net acumulat hauria de coincidir. També podeu comparar els totals d'ingressos i despeses individuals per assegurar-vos que no s'ha omès o duplicat cap categoria.

  • Mostreig aleatori de transaccions: Trieu algunes transaccions a l'atzar (especialment de cada any i de cada compte principal) i verifiqueu que s'han migrat correctament. Per exemple, trobeu una factura de fa 3 anys a QuickBooks i després cerqueu el seu import o concepte al fitxer de Beancount (com que totes les transaccions són text, podeu obrir el fitxer .beancount en un editor de text o utilitzar eines de cerca). Comproveu que la data, els imports i els comptes coincideixin. Això ajuda a detectar problemes de format de data o comptes mal mapejats.

3.3 Comprovacions d'integritat automatitzades

Aprofiteu les eines de validació pròpies de Beancount:

  • bean-check: Executeu bean-check migrated.beancount. Això analitzarà el fitxer i informarà de qualsevol error de sintaxi o de saldat. Si l'script va ometre alguna cosa com un compte no obert o una transacció no saldada, bean-check ho marcarà. Una passada neta (sense sortida) significa que el fitxer és, com a mínim, internament consistent.

  • Assercions de saldo: Podeu afegir assercions de saldo explícites al llibre comptable per a comptes clau com a comprovació addicional. Per exemple, si sabeu el saldo del compte bancari en una data determinada, afegiu una línia: 2023-12-31 balance Assets:Bank:Checking 10000.00 USD Aleshores, bean-check s'assegurarà que al llibre comptable, en aquesta data, el saldo sigui efectivament de $10.000. Això és opcional però pot ser útil per a comptes de gran importància. Podríeu agafar els saldos finals de QuickBooks (p. ex., al final de cada any) i afirmar-los al fitxer de Beancount. Si alguna asserció falla, Beancount informarà d'una diferència.

  • Conciliació progressiva del balanç de comprovació: Si ho preferiu, podeu fer una comprovació període per període. Per a cada any, compareu el canvi net. Per exemple, el resultat net a QuickBooks 2020 vs. Beancount 2020, etc., per assegurar-vos que cada any es va tancar correctament contra el patrimoni net (QuickBooks traspassa automàticament el resultat net a Reserves cada nou any; a Beancount simplement veureu el patrimoni net acumulat). Si veieu diferències, pot indicar un problema a les dades d'un any específic.

  • Recompte de transaccions i duplicats: Compteu el nombre de transaccions a QuickBooks vs. Beancount. QuickBooks no mostra un recompte directe fàcilment, però podeu estimar-lo comptant les línies al CSV (cada capçalera de transacció vs. les partides). A Beancount, una manera ràpida és comptar les ocurrències de txn o * " al fitxer. Haurien de ser iguals o lleugerament superiors a les de QuickBooks (si heu afegit transaccions de saldos inicials o ajustos). Una diferència significativa significa que alguna cosa podria haver estat omesa o duplicada. El nostre ús d'ID únics a les metadades pot ajudar: si sospiteu de duplicats, cerqueu al fitxer de Beancount el mateix número de xec o de factura que apareix dues vegades quan no hauria de fer-ho.

  • Estat de conciliació: Vam incloure una metadada rec: "y" o "n" basada en l'estat de conciliat de QuickBooks al nostre script (com a rec a l'exemple). Això no és una característica estàndard de Beancount (Beancount no fa un seguiment de pendent/conciliat de la mateixa manera que Ledger), però pot ser una metadada útil. Podríeu verificar que totes les transaccions que estaven conciliades a QuickBooks hi són presents. En última instància, conciliar de nou els comptes bancaris a Beancount (utilitzant els vostres extractes) podria ser la prova final que no falta res.

Fent aquestes validacions, guanyareu confiança que la migració ha preservat les dades. Preneu-vos el vostre temps en aquesta fase: és més fàcil solucionar anomalies ara que mesos després, quan es podria confiar en els llibres. Problemes comuns si la validació falla: un saldo inicial de compte que falta, una transacció datada fora del rang o una inversió de signe en un apunt. Tots són solucionables un cop identificats.


Fase 4: Consolidació al llibre comptable de Beancount

Després de netejar i validar, és hora de formalitzar les dades a l'estructura del vostre llibre comptable de Beancount. "Consolidar" aquí significa tant finalitzar els fitxers del llibre comptable com, potencialment, registrar-los en un sistema de control de versions per a l'auditoria.

4.1 Organització dels fitxers i configuració del llibre comptable

Decidiu com estructurar els fitxers del llibre comptable de Beancount. Per a cinc anys de dades, podeu mantenir-ho tot en un sol fitxer o dividir-ho per any o categoria. Una estructura comuna i clara és:

  • Fitxer principal del llibre comptable: p. ex., ledger.beancount – Aquest és el punt d'entrada que pot fer include d'altres fitxers. Podria contenir opcions globals i després incloure els fitxers anuals.
  • Fitxer de comptes: Definiu el pla de comptes i els saldos inicials. Per exemple, accounts.beancount amb totes les directives open (generades per l'script). També podríeu llistar les mercaderies (monedes) aquí.
  • Fitxers de transaccions: Un per any, p. ex., 2019.beancount, 2020.beancount, etc., contenint les transaccions d'aquell any. Això manté cada fitxer amb una mida manejable i us permet centrar-vos en un any si cal. Alternativament, podeu dividir per entitat o compte, però la divisió per temps és senzilla per a dades financeres.

Exemple de fitxer principal:

option "title" "El meu llibre comptable d'empresa"
option "operating_currency" "USD"

include "accounts.beancount"
include "2019.beancount"
include "2020.beancount"
...
include "2023.beancount"

D'aquesta manera, totes les dades s'agreguen quan executeu informes, però manteniu l'ordre.

Beancount no requereix múltiples fitxers —podríeu tenir un sol fitxer gran— però l'estructura anterior millora la claredat i el control de versions. Segons les millors pràctiques de Beancount, és bo utilitzar capçaleres de secció clares i agrupar les entrades relacionades de manera lògica.

4.2 Establiment de saldos inicials i patrimoni net

Si la vostra migració no parteix d'un inici absolutament des de zero, haureu de gestionar els saldos inicials. Dos escenaris:

  • Llibres que comencen de zero: Si el període de cinc anys comença a la creació de l'empresa (p. ex., vau començar a utilitzar QuickBooks el gener de 2019 amb tots els comptes a zero excepte el patrimoni inicial), llavors potser no necessiteu una transacció de saldos inicials separada. Les primeres transaccions del 2019 (com el finançament inicial a un compte bancari) establiran naturalment els saldos inicials. Només assegureu-vos que qualsevol capital inicial o reserves anteriors es comptabilitzin mitjançant transaccions de patrimoni net.

  • Llibres a mig camí (historial parcial): Si vau començar amb QuickBooks abans i el 2019 és un punt intermedi, llavors a l'1 de gener de 2019 cada compte tenia un saldo que venia de l'exercici anterior. QuickBooks tindria aquests saldos com a saldos d'obertura o reserves. A Beancount, és típic crear un assentament de Saldos Inicials el dia abans de la vostra data d'inici:

    • Utilitzeu un compte de patrimoni anomenat Equity:Opening-Balances (o similar) per compensar la suma de tots els imports inicials.
    • Exemple: si el 31/12/2018, la Tresoreria era de 10.000,elsComptesaCobrarde10.000, els Comptes a Cobrar de 5.000 i els Comptes a Pagar de 3.000(creˋdit),escriurıˊeuunatransaccioˊ:20181231"SaldosInicials"Assets:Cash10000.00USDAssets:AccountsReceivable5000.00USDLiabilities:AccountsPayable3000.00USDEquity:OpeningBalances12000.00USDAixoˋdeixaOpeningBalancesamblasumanegativa(3.000 (crèdit), escriuríeu una transacció: `2018-12-31 * "Saldos Inicials"` ` Assets:Cash 10000.00 USD` ` Assets:Accounts Receivable 5000.00 USD` ` Liabilities:Accounts Payable -3000.00 USD` ` Equity:Opening-Balances -12000.00 USD` Això deixa Opening-Balances amb la suma negativa (–12k) que salda l'assentament. Ara tots els comptes d'actiu/passiu comencen el 2019 amb els saldos correctes. Això hauria de reflectir qualsevol "Reserva" o saldos arrossegats de QuickBooks.
    • Alternativament, utilitzeu les directives pad i balance de Beancount: Per a cada compte, podeu fer-li pad des de Opening-Balances i afirmar el saldo. Aquesta és una manera més automatitzada. Per exemple: 2018-12-31 pad Assets:Cash Equity:Opening-Balances 2018-12-31 balance Assets:Cash 10000.00 USD Això diu a Beancount que insereixi qualsevol assentament necessari (a Opening-Balances) perquè Tresoreria sigui igual a 10000 USD en aquesta data. Feu això per a cada compte. El resultat és similar, però escriure una transacció explícita com en el primer mètode també és senzill.
  • Reserves (Retained Earnings): QuickBooks no exporta explícitament una transacció de "Reserves"; simplement la calcula. Després de la migració, potser noteu que Equity:Retained Earnings és zero si no el vau crear. A Beancount, les reserves són simplement els beneficis d'anys anteriors. Podeu optar per crear un compte de Reserves i transferir-hi els beneficis anteriors el primer dia de cada nou any, o simplement deixar que el patrimoni net sigui la suma de tots els ingressos/despeses (que apareix a la secció de Patrimoni Net als informes). Per transparència, alguns usuaris fan assentaments de tancament anuals. Això és opcional i principalment per a la presentació. Com que hem migrat totes les transaccions, el benefici de cada any s'acumularà naturalment si executeu un informe per any.

  • Comprovacions comparatives: Després d'establir els saldos inicials, executeu un balanç de situació a la data d'inici per assegurar-vos que tot és correcte (hauria de mostrar aquests saldos inicials contra el Patrimoni Inicial sumant zero).

4.3 Finalització i control de versions

Ara que les dades estan en format Beancount i estructurades, és aconsellable consolidar els fitxers en un repositori de control de versions (p. ex., git). Cada canvi al llibre comptable es pot seguir, i teniu un rastre d'auditoria de totes les modificacions. Aquest és un avantatge important de la comptabilitat en text pla. Per exemple, a QuickBooks els canvis poden no ser fàcilment comparables, però a Beancount podeu veure les diferències línia per línia. Com alguns usuaris assenyalen, amb Beancount obteniu transparència i la capacitat de revertir canvis si cal: cada assentament es pot vincular a un historial de canvis.

Considereu etiquetar el commit d'aquesta migració inicial com a v1.0 o similar, perquè sapigueu que representa l'estat dels llibres tal com es van importar de QuickBooks. A partir d'ara, introduireu noves transaccions directament a Beancount (o les importareu de fonts bancàries, etc.), i podeu utilitzar pràctiques normals de desenvolupament de programari (fent commits mensuals o diaris, utilitzant branques per a experiments, etc.).

Configuració de Fava o altres eines: Fava és una interfície web per a Beancount que facilita la visualització d'informes. Després de consolidar, executeu fava ledger.beancount per navegar pels estats financers i comparar-los amb els vostres informes de QuickBooks una última vegada. Podríeu detectar petites diferències més fàcilment en una interfície gràfica (per exemple, un compte que hauria de ser zero però que mostra un petit saldo indica un assentament de tancament que falta o una transacció perduda).

Convencions de nomenclatura i consistència: Ara teniu el control total, així que assegureu-vos de la consistència:

  • Tots els comptes han de tenir noms clars, començant amb noms de categoria en majúscula (Assets, Liabilities, etc.). Si algun sembla estrany (p. ex., Assets:assets:SomeAccount a causa d'una diferència de majúscules/minúscules de QuickBooks), canvieu-los el nom al fitxer de comptes i actualitzeu les transaccions (una cerca/substitució ràpida al fitxer pot fer-ho, o utilitzar bean-format de Beancount o el multicursor de l'editor).
  • Els símbols de mercaderia (codis de moneda) han de ser consistents. Per a USD, utilitzeu USD a tot arreu (no $ o US$). Per a altres, utilitzeu codis estàndard (EUR, GBP, etc.). Aquesta consistència és important per a les cerques de preus i els informes de Beancount.
  • Elimineu qualsevol compte temporal o de prova que s'hagi pogut crear (per exemple, si heu utilitzat Expenses:Miscellaneous per a comptes desconeguts a l'script com a comodí, intenteu eliminar-los mapejant correctament tots els comptes).

Tancament de QuickBooks: En aquest punt, hauríeu de tenir llibres paral·lels a Beancount que coincideixin amb QuickBooks. Alguns opten per executar ambdós sistemes en paral·lel durant un període curt per assegurar-se que no s'ha omès res. Però si la validació és sòlida, podeu "tancar" els llibres de QuickBooks:

  • Si es tracta d'un entorn corporatiu, considereu exportar tots els documents font de QuickBooks (factures, rebuts) per als registres, ja que aquests no existiran a Beancount tret que els adjunteu manualment.
  • Conserveu una còpia de seguretat de les dades de QuickBooks (tant el fitxer de l'empresa com els fitxers d'exportació).
  • A partir d'ara, mantingueu el llibre comptable de Beancount com el sistema de registre principal.

En consolidar les dades al llibre comptable de Beancount, heu completat el procés de migració. El pas final és realitzar una auditoria i demostrar la consistència dels estats financers, per satisfer-vos a vosaltres mateixos (i a qualsevol part interessada o auditor) que la migració ha estat un èxit.


Fase 5: Auditoria postmigració i exemples

Per il·lustrar l'èxit de la migració, prepareu una comparació abans i després dels estats financers i, possiblement, una diferència de transaccions. Això proporciona proves que els llibres són consistents.

5.1 Verificació dels estats financers

Produïu informes financers clau tant de QuickBooks com de Beancount per a les mateixes dates i compareu-los:

  • Balanç de situació a 31 de desembre de 2023: Compareu els totals d'Actius, Passius i Patrimoni Net línia per línia. Haurien de coincidir. Per exemple, si QuickBooks mostrava Total Actius = 150.000iTotalPassius+PatrimoniNet=150.000** i **Total Passius + Patrimoni Net = 150.000, el balanç de situació de Beancount hauria de mostrar els mateixos totals. Si heu estructurat els comptes de manera lleugerament diferent (diguem que heu fusionat alguns subcomptes), ajusteu-ho en la comparació o desglosseu fins al següent nivell per assegurar-vos que les sumes siguin iguals.

  • Compte de pèrdues i guanys 2019–2023: Assegureu-vos que el total d'Ingressos, el total de Despeses i el Benefici Net de cada any (o de tot el rang) siguin idèntics. Podrien sorgir diferències menors si QuickBooks va fer algun arrodoniment als informes, però les transaccions normalment porten els cèntims exactament, de manera que el benefici net hauria de ser exacte. Si el benefici d'algun any difereix, aprofundiu en les dades d'aquell any; sovint és un indicador d'un assentament que falta o duplicat en aquell període.

  • Diferències en el balanç de comprovació: Si és possible, creeu un full de càlcul on llisteu cada compte i el saldo de QuickBooks vs. Beancount. Com que esperem que coincideixin, aquesta hauria de ser una columna de diferències tot a zero. Això és essencialment la comprovació creuada del balanç de comprovació que vam discutir, però escriure-ho ajuda a documentar-ho.

5.2 Exemple de comparació (Abans vs. Després)

A continuació es mostra un fragment d'exemple que demostra la consistència de les dades. Diguem que el nostre balanç de comprovació de QuickBooks per al 31 de desembre de 2023 era:

CompteSaldo QuickBooks (31 des 2023)
Actius
Assets:Bank:Checking$12.500,00 (dèbit)
Assets:Accounts Receivable$3.200,00 (dèbit)
Passius
Liabilities:Credit Card$-1.200,00 (crèdit)
Liabilities:Loans Payable$-5.000,00 (crèdit)
Patrimoni Net
Equity:Opening-Balances$-7.500,00 (crèdit)
Equity:Retained Earnings$-2.000,00 (crèdit)
Equity:Current Year Profit$0,00

A Beancount, després d'importar i registrar totes les transaccions fins al 2023, un bean-report balances (balanç de comprovació) mostra:

CompteSaldo Beancount (31 des 2023)
Actius
Assets:Bank:Checking12.500,00 USD (dèbit)
Assets:Accounts Receivable3.200,00 USD (dèbit)
Passius
Liabilities:Credit Card-1.200,00 USD (crèdit)
Liabilities:Loans Payable-5.000,00 USD (crèdit)
Patrimoni Net
Equity:Opening-Balances-7.500,00 USD (crèdit)
Equity:Retained Earnings-2.000,00 USD (crèdit)
Equity:Profit (2019-2023)0,00 USD

(Nota: les seccions de Patrimoni Net poden estar estructurades de manera diferent; la clau és que els totals coincideixin. Aquí, "Benefici (2019-2023)" a Beancount fa el paper del benefici de l'any actual/reserves combinades, mostrant zero perquè el benefici es va tancar contra Reserves.)

Com es mostra, cada compte coincideix fins al cèntim. La suma dels dèbits és igual a la suma dels crèdits a banda i banda.

A més, si executem un Compte de Pèrdues i Guanys per al 2023:

  • QuickBooks: Ingressos $50.000, Despeses $48.000, Benefici Net $2.000.
  • Beancount: Ingressos $50.000, Despeses $48.000, Benefici Net $2.000 (que després es va tancar a Reserves o apareix sota Patrimoni Net al balanç de final d'any).

Podeu crear una diferència de transaccions si cal, però com que les dades de QuickBooks no estan en format de llibre comptable, és més efectiu confiar en els informes. Es podria ordenar tant el CSV de QuickBooks com les transaccions de Beancount per data i comparar camps clau com a comprovació final (això es pot fer a Excel o amb un script). No obstant això, donat que confiem en la nostra validació anterior, la comprovació dels estats financers sol ser suficient.

5.3 Consells d'auditoria

  • Si un auditor o una part interessada necessita tranquil·litat, presenteu els estats financers abans i després un al costat de l'altre. La transparència de Beancount pot simplificar les auditories perquè podeu rastrejar cada número d'un estat financer fins a l'assentament original ràpidament (especialment utilitzant la funcionalitat de desglossament de Fava).
  • Conserveu la còpia de seguretat de QuickBooks i els CSV exportats com a part del vostre rastre d'auditoria. Documenteu qualsevol ajust fet durant la migració (per exemple, "S'ha canviat el nom del compte X a Y per coherència" o "S'ha dividit la transacció Z en dos assentaments per claredat" si vau fer aquests canvis).
  • A partir d'ara, implementeu comprovacions regulars a Beancount. Per exemple, la conciliació mensual dels comptes bancaris i una asserció del seu saldo final ajuda a detectar qualsevol problema de dades o error en l'entrada. La migració ofereix una bona base; mantenir la disciplina en el nou sistema garantirà la precisió contínua.

Finalment, celebreu la finalització de la migració: heu transferit amb èxit cinc anys de dades comptables de QuickBooks a Beancount. Les dades es troben ara en un format de text lleuger, amb control de versions i amb integritat total de partida doble. Heu exportat les dades, les heu transformat amb scripts de Python, heu validat la integritat mitjançant balanços de comprovació i informes, i les heu consolidat en un llibre comptable de Beancount ben organitzat. Aquest procés exhaustiu assegura que el llibre comptable de Beancount sigui una rèplica precisa i fidel dels vostres llibres de QuickBooks durant el període de cinc anys, preparant-vos per a una comptabilitat simplificada en el futur.

Presentant el suport multi-fitxer a Beancount

· 2 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Molts dels nostres clients ens han estat preguntant des del febrer com afegir múltiples fitxers a un sol llibre major. Necessiten l'estructura de fitxers per arxivar o categoritzar transaccions. Així que, finalment, després d'un parell de mesos de feina, ens complau anunciar que la característica s'ha llançat de forma gratuïta.

Aquí teniu com utilitzar-ho:

Fitxer > crear un fitxer nou

2021-09-24-multi-file-one-ledger

Aneu a la pestanya de l'editor de fitxers a la barra lateral de navegació esquerra. I després, seguiu el desplegable "Fitxer" i feu clic a "Crear un fitxer nou".

Fitxer > crear un fitxer nou

Posa nom al teu nou fitxer

Dona al teu fitxer un nom de fitxer vàlid i desa'l. Tots els noms de fitxer han d'acabar amb ".bean".

Posa nom al teu nou fitxer

Inclou el fitxer

Aquí hi ha un pas crucial, has d'incloure el fitxer recentment creat a main.bean.

Per exemple, si has afegit stock.bean, llavors especifica include "stock.bean" a main.bean.

Inclou el fitxer

Actualitza i navega al fitxer

Actualitza la pàgina i veuràs que el fitxer apareix al desplegable "Fitxer".

Actualitza i ves al fitxer

Canvia el nom o elimina el fitxer

Un cop hagis navegat al fitxer, podràs canviar-li el nom o eliminar-lo al desplegable "Edita".

Canvia el nom o elimina el fitxer

Tens problemes?

Fes preguntes a https://t.me/beancount.

Actualització de Fava a la versió 1.19: Canvis i millores clau

· Un minut de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Hem actualitzat el programari de codi obert Fava, amb llicència MIT, a la versió 1.19. Aquests són els canvis des de la nostra última actualització:

  • v1.19 (2021-05-18)
    • migració de les opcions conversion i interval a l'opció default-page
    • afegir l'opció invert-income-liabilities-equity
    • actualització a CodeMirror 6
    • afegeix una traducció al búlgar
    • altres petites millores i correccions d'errors
  • v1.18 (2021-01-16)
    • un parell de petites millores i diverses correccions d'errors.

Et sents emocionat? Prova-ho ara a https://beancount.io/ledger/

2021-07-16-upgrade-fava-to-1-19

Tens preguntes? Estarem allà per a tu a https://t.me/beancount :)

Entendre l'Amortització a Beancount

· 2 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

L'amortització reparteix els pagaments en moltes quotes al llarg del temps. A beancount.io, pots utilitzar el plugin fava.plugins.amortize_over per aconseguir-ho.

2021-01-09-amortize

Sense amortització, si vols assegurar el teu cotxe durant 6 mesos amb un cost de $600. Has de registrar-ho com una despesa única per a una data concreta.

2017-06-01 open Assets:Bank:Checking
2017-06-01 open Assets:Prepaid-Expenses
2017-06-01 open Expenses:Insurance:Auto


2017-06-01 * "Pagar assegurança de cotxe"
Assets:Bank:Checking -600.00 USD
Assets:Prepaid-Expenses

No obstant això, amb l'amortització, podries assignar la despesa durant sis mesos posant plugin "fava.plugins.amortize_over" a l'inici del fitxer i utilitzant amortize_months: 6 per a la transacció.

plugin "fava.plugins.amortize_over"

2020-06-01 open Assets:Bank:Checking
2020-06-01 open Assets:Prepaid-Expenses
2020-06-01 open Expenses:Insurance:Auto

2020-06-01 * "Amortitzar assegurança de cotxe durant sis mesos"
amortize_months: 6
Assets:Prepaid-Expenses -600.00 USD
Expenses:Insurance:Auto

I aleshores al Diari, veuràs que la transacció es divideix en 6 assentaments.

2020-11-01 * Amortitzar assegurança de cotxe durant sis mesos (6/6) am
2020-10-01 * Amortitzar assegurança de cotxe durant sis mesos (5/6) am
2020-09-01 * Amortitzar assegurança de cotxe durant sis mesos (4/6) am
2020-08-01 * Amortitzar assegurança de cotxe durant sis mesos (3/6) am
2020-07-01 * Amortitzar assegurança de cotxe durant sis mesos (2/6) am
2020-06-01 * Amortitzar assegurança de cotxe durant sis mesos (1/6) am

Captura de pantalla de la transacció d'amortització

Presentem les aplicacions mòbils de Beancount per a iOS i Android

· 2 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Estem emocionats d'anunciar una fita important en l'evolució de Beancount: el llançament de les nostres aplicacions mòbils dedicades tant per a plataformes iOS com Android! Aquesta versió aborda directament una de les peticions més freqüents de la nostra comunitat: la capacitat de gestionar el vostre llibre major de manera eficient en dispositius mòbils.

Beancount iOS App

Característiques clau

  • Entrada ràpida de transaccions: Afegiu noves transaccions sense problemes en moviment
  • Informes financers mòbils: Accediu a les vostres dades financeres en qualsevol lloc i en qualsevol moment
  • Edició directa del llibre major: Accés complet al vostre fitxer de llibre major mitjançant una vista web optimitzada
  • Sincronització multiplataforma: Mantingueu les vostres dades financeres coherents en tots els vostres dispositius

2020-08-19-beancount-mobile-app

Desenvolupament impulsat per la comunitat

Aquesta versió marca només el començament del nostre viatge mòbil. Estem compromesos a evolucionar aquestes aplicacions basant-nos en les vostres necessitats i comentaris. Uniu-vos a la nostra vibrant comunitat a Telegram a https://t.me/beancount per discutir Beancount, compartir la vostra experiència i ajudar a donar forma a futures funcions.

La nostra visió

A Beancount, la nostra missió és capacitar a tothom per aconseguir un millor control i comprensió financera. Aquestes aplicacions mòbils representen un pas significatiu cap a aquest objectiu, amb moltes més funcions i eines emocionants en la nostra fulla de ruta.

descarrega des de l'App Storedescarrega des de la Play Store

Benefici Net 101 — i Com Fer-ne el Seguiment a Beancount

· 5 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

De tots els números que descriuen un negoci, un destaca per sobre de la resta: el benefici net. És la mesura definitiva de la rendibilitat, la famosa "línia de fons". Però què significa realment, i com podeu fer-ne el seguiment amb precisió utilitzant un sistema de comptabilitat de text pla com Beancount?

Desglossem-ho.

2020-03-12-benefici-net-101-com-fer-ne-el-seguiment-a-beancount

Què Significa Realment el Benefici Net

En essència, el benefici net són els diners que queden després d'haver pagat absolutament tot el necessari per gestionar el vostre negoci. Això inclou el cost de les mercaderies venudes (CMV), totes les despeses operatives, els interessos del deute i els impostos.

És l'indicador més clar de la salut financera d'una empresa. És una xifra crítica per a tothom:

  • Els prestadors la miren per avaluar la vostra capacitat de retornar préstecs.
  • Els inversors la veuen com la font de potencials dividends o el capital disponible per al creixement.
  • Els fundadors hi confien per entendre la seva pista financera i fer plans estratègics de reinversió.

Un benefici net positiu significa que sou rendibles. Un de negatiu significa que esteu perdent diners. És així de simple.

La Fórmula Principal (Trieu el Nivell de Detall que Necessiteu)

Podeu calcular el benefici net amb diversos graus de granularitat. L'elecció depèn de com de detallat necessiteu l'anàlisi.

  • Fórmula completa: Ingressos – CMV – Despeses Operatives – Interessos – Impostos = Benefici Net
  • Fórmula estàndard: Ingressos – CMV – Despeses = Benefici Net
  • Fórmula ràpida i bruta: Ingressos Totals – Despeses Totals = Benefici Net

Un Consell Ràpid sobre els Costos: Quina diferència hi ha entre el CMV i les despeses operatives? CMV (Cost de les Mercaderies Venudes) cobreix els costos directes vinculats a la producció dels vostres béns o serveis (per exemple, matèries primeres, mà d'obra directa). Despeses Operatives cobreixen tota la resta que manté el negoci en funcionament: salaris, lloguer, subscripcions de programari, assegurances, etc.

Un Mini Exemple

Fem-ho tangible. Imagineu-vos que una petita empresa de torrefacció de cafè va tenir els següents resultats el mes passat.

ConcepteQuantitatCompte Major d'Exemple
Ingressos per Vendes60.000 €Ingressos:Vendes
CMV (Grans de cafè verd)20.000 €Despeses:CMV
Despeses Operatives18.000 €Despeses:Ops:*
Interessos (Préstec equipament)1.000 €Despeses:Interessos
Impostos1.000 €Despeses:Impostos

Utilitzant la fórmula completa, el càlcul és senzill:

Benefici;Net=60.00020.00018.0001.0001.000=20.000Benefici;Net = 60.000 € - 20.000 € - 18.000 € - 1.000 € - 1.000 € = 20.000 €

L'empresa va generar un benefici real de 20.000 € per al mes.

Com Capturar-ho a Beancount

L'estructura de Beancount és perfecta per a això. En organitzar els vostres comptes lògicament, calcular el benefici net es converteix en un subproducte automàtic d'una bona comptabilitat.

  • Etiqueteu tots els ingressos sota un compte pare Ingressos, com ara Ingressos:Vendes o Ingressos:Serveis.
  • Dividiu les vostres despeses per distingir entre costos directes i indirectes. Utilitzeu Despeses:CMV per als costos directes i subcomptes com Despeses:Ops:Salaris o Despeses:Ops:Programari per a tota la resta.
  • Registreu els interessos i els impostos als seus propis comptes (Despeses:Interessos, Despeses:Impostos). Això simplifica molt l'anàlisi futura, especialment per a la preparació d'impostos.
  • Quadreu els vostres llibres regularment. L'equació comptable fonamental, Actius = Passius + Patrimoni Net, sempre ha de ser certa.

Al final d'un període (per exemple, un mes), podeu utilitzar assercions balance per confirmar l'estat dels vostres comptes. Aquestes entrades no mouen diners; declaren quin hauria de ser el saldo, i bean-check informarà d'un error si no ho és.

; 2025-07-31 Coffee Roaster Enterprises — Tancament de juliol
2025-07-31 balance Actius:Banc:Operatiu 42000.00 EUR
2025-07-31 balance Despeses:CMV 20000.00 EUR
2025-07-31 balance Despeses:Ops 18000.00 EUR
2025-07-31 balance Despeses:Interessos 1000.00 EUR
2025-07-31 balance Despeses:Impostos 1000.00 EUR
2025-07-31 balance Ingressos:Vendes -60000.00 EUR

Consulta de Benefici Net d'Una Sola Línia

Aquí és on passa la màgia. Amb un llibre major ben estructurat, podeu calcular el vostre benefici net per a qualsevol període amb una sola comanda.

bean-query books.beancount \
"SELECT period, sum(number) WHERE account =~ '^(Ingressos|Despeses)' \
AND year = 2025 GROUP BY month"

Aquesta consulta suma tots els valors dels vostres comptes Ingressos i Despeses per al 2025 i els agrupa per mes. A Beancount, els ingressos es representen amb nombres negatius i les despeses amb nombres positius, de manera que el resultat serà el negatiu del vostre benefici net.

Millor encara, ni tan sols heu d'executar aquesta consulta manualment. Fava, la interfície web per a Beancount, ho representarà gràficament automàticament a la vista Informes → Compte de Resultats.

Informació Ràpida que Podeu Automatitzar

Com que el vostre llibre major és només un fitxer de text, podeu crear fluxos de treball automatitzats potents al seu voltant.

  • Resum Mensual per Correu Electrònic: Configureu una tasca cron per executar bean-report books.beancount income_statement > benefici-net.txt i després envieu-vos per correu electrònic el fitxer de text resultant el primer dia de cada mes.
  • Alerta de Rentabilitat: Utilitzeu un hook pre-commit de Git que executi una consulta per comprovar la rendibilitat del mes fins a la data. Podeu programar-lo per rebutjar el commit si el benefici net és negatiu, obligant-vos a reconèixer un mes amb pèrdues.
  • Modelització d'Escenaris: Voleu fer una prova d'estrès al vostre negoci? Simplement copieu books.beancount a scenarios/recessio.bean, reduïu les vostres entrades Ingressos en un 20% i torneu a executar la vostra consulta de benefici net per veure l'impacte a l'instant.

Conclusions Clau

  • El benefici net és la vostra veritable línia de fons. L'objectiu és mantenir-lo positiu i entendre la seva tendència al llarg del temps.
  • Beancount fa que els càlculs subjacents siguin explícits, cercables i controlats per versions. No hi ha fórmules ocultes.
  • Amb una estructura de comptes disciplinada i una sola consulta, sempre sabreu si el vostre negoci realment està guanyant diners.

Introducció a Beancount.io

· 6 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Per què la tinença de llibres moderna és important

Encara gestioneu les vostres inversions amb fulls de càlcul? Tot i que els fulls de càlcul són versàtils, poden esdevenir feixucs i propensos a errors a mesura que la vostra cartera d'inversions creix. Us presentem Beancount.io – una plataforma de seguiment d'inversions sofisticada però fàcil d'usar, dissenyada específicament per gestionar carteres d'accions i criptomonedes. Construïda pensant en enginyers i minimalistes financers, Beancount.io combina potents funcions amb una interfície intuïtiva per optimitzar la vostra experiència de seguiment d'inversions.

2019-09-07-introduction-to-beancount

Expenses

Income Statement

Balance Sheet

Comptabilitat de Partida Doble: El Fonament de la Precisió

Beancount.io es basa en els principis de la comptabilitat de partida doble – una metodologia provada amb el temps utilitzada per institucions financeres arreu del món. Aquest sistema garanteix la precisió matemàtica mitjançant un concepte senzill però potent: cada transacció financera ha de quadrar perfectament.

En la tinença de llibres de partida doble, cada transacció requereix almenys dues entrades – un dèbit (+) i un crèdit (-) – en diferents comptes. Aquest sistema de verificació integrat fa que sigui pràcticament impossible registrar transaccions desequilibrades, assegurant que els vostres registres financers romanguin precisos i fiables.

1970-01-01 open Income:BeancountCorp
1970-01-01 open Assets:Cash
1970-01-01 open Expenses:Food
1970-01-01 open Assets:Receivables:Alice
1970-01-01 open Assets:Receivables:Bob
1970-01-01 open Assets:Receivables:Charlie
1970-01-01 open Liabilities:CreditCard

2019-05-31 * "BeancountCorp" "Salary of May 15th to May 31st"
Income:BeancountCorp -888 USD
Assets:Cash 888 USD

2019-07-12 * "Popeyes chicken sandwiches" "dinner with Alice, Bob, and Charlie"
Expenses:Food 20 USD
Assets:Receivables:Alice 20 USD
Assets:Receivables:Bob 20 USD
Assets:Receivables:Charlie 20 USD
Liabilities:CreditCard -80 USD

Com podeu veure en els dos exemples anteriors, cada transacció ha de complir l'equació comptable.

Assets = Liabilities + Equity(aka Net Assets)

Hem utilitzat la sintaxi de Beancount de Martin Blais i el projecte web Fava de Jakob Schnitzer per construir aquest lloc web. I us avisarà si alguna transacció té alguna partida que no sumi zero.

Error Alert

Ara enteneu com apliquem la correcció del llibre major. Però potser us pregunteu què són aquests "comptes"?

Entenent els Comptes: L'Analogia de la Galleda d'Aigua

Penseu en els vostres comptes financers com un sistema de galledes d'aigua interconnectades, on els diners flueixen com l'aigua entre elles. Aquesta analogia fa que la tinença de llibres de partida doble sigui intuïtiva: quan transferiu diners d'un compte a un altre, és com abocar aigua d'una galleda a una altra – la quantitat total d'aigua (diners) en el sistema roman constant.

Beancount.io introdueix cinc tipus de comptes.

  1. Ingressos — El seu import és sempre negatiu o en dèbit. Això és perquè esteu guanyant diners, i llavors els diners es debiten del compte d'"Ingressos" i es crediten als vostres "Actius".
  2. Despeses — El seu import és sempre positiu o en crèdit. Això és perquè esteu gastant diners, i els diners flueixen dels "Actius" o "Passius" a les "Despeses".
  3. Passius — El seu import és positiu o zero. Els vostres passius de targeta de crèdit són un bon exemple, que augmenten i disminueixen en cicles.
  4. Actius — El seu import és positiu o zero. Els vostres diners en efectiu o cases sempre tenen un valor.
  5. Patrimoni Net — Els vostres actius nets. El sistema ho calcularà automàticament per a vosaltres. Patrimoni Net = Actius - Passius i reflecteix la vostra riquesa.

Ara podeu obrir els vostres comptes personalitzats amb les paraules clau anteriors:

1970-01-01 open Assets:Cash
1970-01-01 open Assets:Stock:Robinhood
1970-01-01 open Assets:Crypto:Coinbase
1970-01-01 open Expenses:Transportation:Taxi
1970-01-01 open Equity:OpeningBalance

Seguiment Avançat d'Inversions amb Mercaderies

Beancount.io destaca en el seguiment d'inversions diverses, des d'accions fins a criptomonedes. Explorem com gestiona escenaris d'inversió complexos. Per exemple, així és com registraríeu la compra de 10 Bitcoins a 100 $ cadascun el 2014:

2014-08-08 * "Buy 10 Bitcoin"
Assets:Trade:Cash -1000.00 USD
Assets:Trade:Positions 10 BTC {100.00 USD}

I tres anys més tard, els veneu (originalment amb costos de 100 $ per unitat anotats amb {100.00 USD}) al preu de 10.000 $ per unitat anotat amb @ 10,000.00 USD.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @ 10,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

O la mateixa transacció amb @@ 20,000.00 USD significa que al preu de 20.000 $ en total.

2017-12-12 * "Sell 2 Bitcoin"
Assets:Trade:Positions -2 BTC {100.00 USD} @@ 20,000.00 USD
Assets:Trade:Cash 20,000.00 USD
Income:Trade:PnL -19,800.00 USD

La suma de totes les partides de la transacció, incloent -2 BTC {100.00 USD}, segueix sent, com sempre, zero.

L'etiqueta de costos {100.00 USD} és important perquè podríeu haver comprat la mateixa mercaderia a costos diferents.

100 BTC {10.00 USD, 2012-08-08}
10 BTC {100.00 USD, 2014-08-08}

Si voleu simplificar el procés, podeu configurar el compte al principi amb FIFO o LIFO. FIFO significa "first in, first out" (primer a entrar, primer a sortir), mentre que LIFO significa "last in, first out" (últim a entrar, primer a sortir). Als EUA, l'IRS utilitza FIFO per calcular el vostre PnL i impostos en conseqüència.

1970-01-01 open Assets:Trade:Positions "FIFO"

I llavors, quan el veneu de forma abreujada com -2 BTC {}, beancount aplicarà automàticament l'estratègia FIFO i vendrà la mercaderia més antiga.

Començant amb Beancount.io

Beancount.io és una moderna plataforma de gestió financera basada en el núvol que transforma els vostres registres de transaccions basats en text en estats financers complets, incloent estats de resultats, balanços i balanços de comprovació. Combinant la fiabilitat dels fitxers de text pla amb potents eines de visualització, Beancount.io us ajuda a mantenir un control precís sobre la vostra vida financera mentre obteniu valuoses perspectives sobre el rendiment de les vostres inversions.

Comenceu el vostre viatge financer amb Beancount.io - Gratuït durant el nostre període promocional!

Fonaments de la Comptabilitat amb Beancount: El Camí del Text Pla a Uns Llibres Nets

· 8 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

No podeu dirigir un negoci si no sabeu on van els diners. Uns llibres precisos converteixen les conjectures en coneixement. (Investopedia)

Tot propietari d'un negoci, autònom o fundador d'una startup s'enfronta finalment a la mateixa realitat: el caos financer és un obstacle per al creixement. Sense una imatge clara del vostre flux d'efectiu, esteu volant a cegues. Però què passaria si poguéssiu gestionar les vostres finances amb la mateixa precisió i control que apliqueu al vostre codi? Us presentem Beancount, un potent sistema de comptabilitat de codi obert que funciona amb fitxers de text pla.

2019-03-24-bookkeeping-basics

Aquesta guia us guiarà pels fonaments de la comptabilitat i us mostrarà com construir un flux de treball financer robust, lleuger i transparent utilitzant Beancount.

Què és la Comptabilitat?

En essència, la comptabilitat és el registre sistemàtic i continu de totes les transaccions financeres que realitza una empresa. És la disciplina diària de fer un seguiment dels ingressos, les despeses, els actius (el que posseïu) i els passius (el que deveu).

En el món de Beancount, aquests registres no estan tancats en un programari propietari. Residen en fitxers de text pla simples i llegibles per humans. Aquest enfocament us permet controlar les versions del vostre historial financer amb eines com Git, tal com ho faríeu amb un projecte de programari. Cada entrada es regeix per la regla de l'equilibri per partida doble, un sistema elegant que comprova automàticament la vostra feina i garanteix que els vostres llibres siguin sempre correctes. (beancount)

Per què és Important?

Una comptabilitat meticulosa no és només una qüestió d'ordre administratiu; és un avantatge estratègic.

  • Confiança fiscal: Quan arriba la temporada d'impostos, uns registres nets són el vostre millor amic. L'Agència Tributària requereix documentació clara dels ingressos i les deduccions. Un llibre major ben mantingut significa que podeu presentar la declaració amb confiança i escurçar dràsticament qualsevol possible auditoria. (Agència Tributària)
  • Decisions més encertades: Els vostres preus són prou alts? Un contracte de servei específic és realment rendible? Els costos de subscripció s'estan disparant? Els estats financers, com el compte de resultats i el balanç, revelen fuites de preus, costos descontrolats i problemes de flux d'efectiu, proporcionant als gestors i inversors les dades que necessiten per prendre decisions intel·ligents. (Investopedia)
  • Finançament més fàcil: Els prestadors i inversors no prenen decisions basades en intuïcions. Abans de transferir fons, us demanaran estats financers. Uns bons llibres us permeten generar un balanç o un compte de resultats en segons, demostrant professionalitat i salut financera. (Investopedia)
  • Alertes de frau i errors: La conciliació rutinària dels vostres llibres amb els extractes bancaris és la vostra primera línia de defensa contra els errors. Aquest hàbit senzill us ajuda a detectar càrrecs duplicats, errors bancaris o activitats fraudulentes ràpidament, abans que es converteixin en problemes importants. (Agència Tributària)

Un Pla de Set Passos en Text Pla

A punt per començar? Aquí teniu com construir el vostre sistema de comptabilitat basat en Beancount des de zero.

1. Separeu els Comptes Empresarials i Personals

Aquest és el primer pas innegociable. Obriu un compte corrent empresarial dedicat i, si cal, una targeta de crèdit empresarial. Barrejar fons crea un malson per a la comptabilitat i pot difuminar les línies de responsabilitat entre vosaltres i la vostra empresa. Una separació neta és essencial per a deduccions precises i protecció legal. (Direcció General de Comerç Interior)

In Beancount, you declare the existence of these accounts with an open directive:

; Saldos d'obertura dels vostres comptes
2025-07-22 open Assets:Bank:Business USD
2025-07-22 open Assets:Bank:Personal USD

2. Trieu un Sistema de Comptabilitat

Beancount utilitza el mètode de partida doble, l'estàndard d'or de la comptabilitat durant segles. El principi és simple: cada transacció afecta almenys dos comptes. Per a cada dèbit d'un compte, hi ha d'haver un crèdit corresponent a un altre. La màgia d'aquest sistema és que la suma de tots els vostres comptes sempre ha d'equilibrar-se a zero. Beancount aplica aquesta regla automàticament, cosa que significa que un error tipogràfic o lògic generarà immediatament una alerta. Literalment, no podeu tenir llibres desequilibrats. (beancount)

3. Decidiu un Mètode Comptable

Teniu dues opcions principals aquí:

  • Base de caixa: Registreu els ingressos quan rebeu els diners i les despeses quan els pagueu. És més senzill i reflecteix directament el vostre flux d'efectiu.
  • Base de meritació: Registreu els ingressos quan els guanyeu (per exemple, quan s'envia una factura) i les despeses quan les incorreu (per exemple, quan rebeu una factura). Aquest mètode proporciona una imatge més fidel de la salut i el rendiment financer d'una empresa, especialment per a les empreses en creixement. (Investopedia)

Aquí teniu un exemple d'una transacció de meritació a Beancount. Registreu els ingressos quan s'envia la factura, movent el valor a Assets:AccountsReceivable. Quan el client paga, moveu els diners de AccountsReceivable al vostre compte bancari.

; Exemple de meritació: factura emesa, pagament posterior
2025-07-22 * "Factura de disseny #101"
Assets:AccountsReceivable 3000.00 USD
Income:Design

2025-08-15 * "El client paga la factura #101"
Assets:Bank:Business 3000.00 USD
Assets:AccountsReceivable

4. Reuniu el Vostre Conjunt d'Eines

La bellesa de Beancount rau en la seva naturalesa minimalista i modular. El vostre conjunt bàsic d'eines inclou:

  • Editor + Git: El vostre editor de text preferit per registrar les transaccions i Git per al control de versions, cosa que us proporciona un historial complet i auditable de tots els canvis.
  • bean-report / bean-balance / Fava: Eines de línia d'ordres com bean-report i la impressionant interfície web Fava us proporcionen estats financers instantanis, quadres de comandament i potents capacitats de filtratge.
  • Importadors: Un ric ecosistema d'importadors creats per la comunitat es pot connectar als vostres canals bancaris mitjançant CSV, Plaid o API per a serveis com Stripe i PayPal, automatitzant gran part de l'entrada de dades.

5. Categoritzeu Cada Transacció

Un "pla de comptes" ben organitzat és l'eix central d'uns informes perspicaços. Definiu categories que tinguin sentit per al vostre negoci, utilitzant comptes jeràrquics per a la granularitat. Després, a mesura que registreu les transaccions, categoritzeu-les meticulosament.

2025-07-30 * "Factura mensual d'AWS"
Expenses:Hosting:AWS 124.50 USD
Assets:Bank:Business
tag: "ops"

En aquest exemple, la despesa està clarament arxivada a Expenses:Hosting:AWS. L'ús de tag: "ops" també permet informes transversals, com ara visualitzar totes les despeses operatives independentment de la seva categoria principal. (Agència Tributària)

6. Emmagatzemeu els Documents Font de Forma Segura

L'Agència Tributària accepta còpies digitals de rebuts i factures. Escanegeu els rebuts en paper o reenvieu les factures per correu electrònic a una carpeta dedicada a l'emmagatzematge al núvol (com Google Drive o Dropbox). Després, enllaceu directament al fitxer a la vostra entrada de Beancount utilitzant metadades. Això crea un registre hermètic i autocontingut.

; Imatge del rebut enllaçada com a metadades
2025-07-18 * "Dinar d'equip"
Expenses:Meals 85.10 USD
Assets:Bank:Business
receipt: "receipts/2025-07-18-team-lunch.jpg"

7. Convertiu la Comptabilitat en un Hàbit

La constància és clau. La procrastinació converteix la comptabilitat en una tasca estressant i que requereix molt de temps. Reserveu un bloc de temps recurrent (un "Dia Bean" setmanal o mensual) per importar transaccions, conciliar comptes i revisar els vostres informes financers. Aquesta rutina senzilla transforma la comptabilitat d'una cursa trimestral en una revisió ràpida i empoderadora de la salut del vostre negoci. (Agència Tributària)

Bricolatge vs Ajuda Professional

  • Bricolatge: Per a autònoms o petites empreses amb un volum de transaccions previsible, un enfocament de bricolatge amb Beancount és increïblement eficaç. Encara és aconsellable tenir una breu consulta puntual amb un assessor fiscal per validar el vostre pla de comptes i assegurar-vos que esteu en el camí correcte.
  • Revisió professional: A mesura que el vostre negoci creix, les transaccions es tornen més complexes o el risc de compliment augmenta, contractar un comptable o assessor professional per a revisions periòdiques és invaluable. Podeu continuar utilitzant Beancount com a font principal de veritat i simplement exportar els informes que necessiten.

Llista de Comprovació d'Inici Ràpid

  • Obriu comptes bancaris empresarials separats.
  • Cloneu el repositori d'inici de Beancount i definiu els vostres comptes a accounts.bean.
  • Trieu la base de caixa o de meritació i seguiu-la.
  • Configureu importadors per automatitzar l'entrada de dades del vostre banc (CSV), Stripe, PayPal, etc.
  • Etiqueteu i escriviu narracions clares per a cada transacció.
  • Conciliau el vostre llibre major amb els extractes bancaris setmanalment o mensualment.
  • Genereu informes mensuals d'ingressos, balanç i flux d'efectiu utilitzant Fava o bean-report.
  • Feu una còpia de seguretat dels vostres fitxers .bean regularment (Git + emmagatzematge extern).

Lectures Adicionals

A punt per començar? Instal·leu Beancount, registreu la vostra primera entrada i canvieu la boira dels fulls de càlcul per la claredat del text pla. Feliç "bean-keeping"!