Salta al contingut principal

3 publicacions etiquetades amb "contabilitat"

Veure totes les etiquetes

Les 7 Millors Opcions Bancàries per a Petites Empreses el 2025

· 10 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Triar on la teva empresa guarda — i mou — els seus diners afecta tot, des de les comissions fins a la visibilitat del flux de caixa. El compte adequat pot estalviar-te centenars en comissions, fer-te guanyar interessos sobre el diner inactiu i simplificar la teva comptabilitat. L'opció equivocada pot ser una font constant de fricció.

La bona notícia: el 2025 ofereix a les petites empreses una gran varietat d'opcions, des de bancs amb sucursals a nivell nacional fins a plataformes bancàries modernes amb capes de programari potents. A continuació, set opcions destacades, cadascuna “la millor per a” un tipus diferent d'empresa. Les tarifes i condicions canvien, així que utilitza això com a guia de decisió i confirma els detalls abans d'obrir un compte.

2025-08-26-7-best-small-business-banking-options-in-2025

TL;DR — Les nostres seleccions principals per escenari

Com hem triat aquests comptes

Per trobar les millors opcions, ens vam centrar en les característiques que més importen als propietaris de petites empreses. Vam analitzar el cost total (incloent comissions mensuals i com es poden eximir), l'accés a efectiu via sucursals i caixers automàtics, les eines integrades de gestió del flux de caixa i el potencial d'obtenir rendiments sobre el diner inactiu. També vam observar com cada compte s'adapta a diferents models de negoci, des de botigues minoristes amb molt efectiu fins a empreses SaaS en línia.

La llista curta: una mirada més detallada

Chase Business Complete Banking — Millor per a empreses amb molts dipòsits i prioritat de sucursals

Per què destaca: Amb una xarxa massiva de més de 5 000 sucursals i 15 000 caixers automàtics, Chase ofereix un accés presencial inigualable per a empreses que gestionen dipòsits freqüents d'efectiu o necessiten suport cara a cara. La comissió mensual estàndard de 15eˊsfaˋcildexonerarcomplintrequisitscommantenirunsaldodiarimıˊnimde15** és fàcil d'exonerar complint requisits com mantenir un saldo diari mínim de **2 000. Una característica única és el lector de targetes QuickAccept integrat, que permet finançament el mateix dia en transaccions elegibles, un gran avantatge per a la gestió diària del flux de caixa.

Tingues en compte: Com la majoria de bancs tradicionals, Chase té una tarifa per serveis com transferències bancàries i dipòsits d'efectiu excedents. Abans d'obrir un compte, revisa la teva activitat mensual típica i compara-la amb la seva estructura de tarifes per evitar sorpreses.

Bank of America Business Advantage — Millor per a eines de gran banc i una ruta d'escalat

Per què destaca: Bank of America ofereix un sistema escalable que pot créixer amb la teva empresa. El compte Business Advantage Fundamentals comença amb una comissió promocional de 0durantelprimerany(despreˊs0** durant el primer any (després **16), que es pot exonerar complint criteris com un saldo mitjà combinat de $5 000. A mesura que la teva empresa creix, pots passar al nivell Relationship, que ofereix més serveis sense comissions (com transferències entrants) per a saldos més alts. Tots els nivells inclouen accés a un tauler de flux de caixa, integració amb QuickBooks i una targeta de dèbit digital que pots utilitzar immediatament.

Tingues en compte: La comissió mensual pot ser una càrrega si no compleixes constantment els criteris d'exoneració. Sigues realista sobre els teus saldos i volum de transaccions per assegurar-te que estàs al nivell adequat.

Bluevine Business Checking — Millor per a APY alt en comptes corrents

Per què destaca: Bluevine desafia la idea que els comptes corrents no guanyen interessos. Els clients elegibles poden obtenir un rendiment anual (APY) molt competitiu, amb taxes al voltant del $1.5 % - 3.7 % APY segons el pla i complint certs requisits d'activitat. És una manera poderosa de fer treballar el teu efectiu operatiu. El compte no té comissions mensuals i ve amb una caixa d'eines sòlida per a pagaments, incloent ACH, transferències bancàries i facturació.

Tingues en compte: Bluevine és una plataforma en línia. Tot i que pots dipositar efectiu, es fa a través de xarxes de tercers com Allpoint+ i minoristes Green Dot, que solen cobrar una tarifa (p. ex., fins a $4.95 per dipòsit). Si la teva empresa maneja molt efectiu físic, aquestes tarifes podrien compensar els interessos guanyats.

Mercury — Millor per a startups que volen una pila financera moderna

Per què destaca: Mercury està dissenyat per a startups tecnològiques. És una empresa de tecnologia financera (no un banc) que ofereix serveis bancaris a través dels seus bancs socis assegurats per la FDIC. Proporciona una plataforma potent i amigable per a desenvolupadors, sense comissions mensuals, controls d'usuari granulars i APIs de pagament robustes. Per a empreses amb molt efectiu, Mercury ofereix fins a $5 milions d'assegurança FDIC a través de xarxes de sweep de bancs socis i Mercury Treasury, una opció per invertir l'efectiu inactiu en fons del mercat monetari i bons del Tresor, amb rendiments anunciats fins al 4.26 % APY.

Tingues en compte: Mercury Treasury és un compte d'inversió, no un compte bancari; està protegit per SIPC però subjecte a risc de mercat. A més, com que depèn de bancs socis, les especificacions dels pagaments internacionals i el canvi de divises poden variar, així que llegeix les petites lletres si operes a nivell global.

Relay — Millor per a sobres “Profit First”, subcomptes i controls de despesa

Per què destaca: Relay està dissenyat per a propietaris d'empreses que volen un control precís de les seves finances. Igual que Mercury, és una empresa de tecnologia financera amb serveis bancaris proporcionats per un banc soci assegurat per la FDIC. La seva característica destacada és la possibilitat de crear fins a 20 comptes corrents individuals per gestionar diferents categories de pressupost (segons el mètode “Profit First”) i emetre fins a 50 targetes de dèbit virtuals o físiques amb límits de despesa personalitzats. També ofereix un APY competitiu en comptes d'estalvi en els seus plans de pagament, amb nivells que arriben fins al 3.03 % APY.

Tingues en compte: Com a plataforma centrada en programari, la gestió d'efectiu físic és més complexa que en un banc tradicional. Si el teu model de negoci depèn de dipòsits freqüents d'efectiu, assegura't que els fluxos d'entrada de Relay s'adapten a les teves necessitats.

Axos Basic Business Checking — Millor per a banca en línia sense comissions i amigable amb caixers automàtics

Per què destaca: Axos Bank ofereix una experiència de banca en línia realment conscient de les comissions. El compte Basic Business Checking no té comissions de manteniment mensuals ni límits de transacció. La seva característica més atractiva són les reemborsaments il·limitats de comissions per caixers automàtics domèstics, un avantatge rar i valuós per a un banc en línia, que et permet retirar efectiu de qualsevol caixer automàtic a nivell nacional sense penalitzacions.

Tingues en compte: Axos és un banc completament digital sense sucursals físiques. Si necessites dipositar grans quantitats d'efectiu o requereixes serveis presencials de caixer, probablement hauràs d'associar-lo amb un compte en un banc tradicional de maó i pedra.

American Express® Business Checking — Millor per a cap comissió mensual + APY estable

Per què destaca: Per a empreses que ja formen part de l'ecosistema American Express, aquest compte corrent és una elecció natural. No té comissions de servei mensuals i ofereix un APY respectable (habitualment al voltant del 1.30 % APY el 2025) sobre saldos fins a $500 000. El compte s'integra perfectament amb les targetes de càrrec i crèdit AmEx, facilitant la gestió de pagaments i recompenses en un sol lloc.

Tingues en compte: Aquest és un compte orientat a l'en línia. Tot i que és excel·lent per a transaccions digitals, les empreses amb molt efectiu o que necessiten serveis presencials freqüents haurien de considerar mantenir una relació amb un banc local.

Elecció ràpida: combina el compte amb el teu negoci

  • Per a minoristes, restaurants i comerços amb dipòsits setmanals d'efectiu:
    Comença amb Chase o Bank of America per les seves àmplies xarxes de sucursals i opcions senzilles d'exoneració de comissions.

  • Per a negocis en línia (SaaS/e‑commerce), equips distribuïts o amb polítiques estrictes de despesa:
    Considera Mercury per les seves eines centrades en programari i l'opció de rendiment Treasury, o Relay per la seva potent funcionalitat d'envelopes multi‑compte.

  • Per a fer treballar l'efectiu inactiu sense friccions:
    Avalua Bluevine per l'APY alt en saldos corrents o Mercury Treasury per sweepar sumes més grans cap a fons d'inversió (tenint en compte el risc d'inversió).

  • Per a usuaris freqüents de caixers automàtics que odien les comissions:
    Axos és el guanyador clar amb els reemborsaments il·limitats de comissions per caixers domèstics.

  • Per a empreses amb un ús intensiu de targetes AmEx que busquen un APY simple i estable:
    El compte American Express Business Checking és una elecció lògica i gratificant.

Preguntes freqüents

Mercury i Relay són “bancs”?

No. Ambdues són empreses de tecnologia financera que col·laboren amb bancs assegurats per la FDIC (com Thread Bank per a Relay) per oferir serveis bancaris. Els teus dipòsits es mantenen en aquests bancs socis i poden distribuir-se a través d'una “xarxa de sweep” d'altres bancs per augmentar la cobertura FDIC, sovint fins a diversos milions de dòlars.

Puc guanyar interessos en un compte corrent empresarial?

Sí, sens dubte. Diverses opcions modernes ofereixen rendiments competitius. Per exemple, Bluevine anuncia taxes de 1.5 % a 3.7 % APY per a clients elegibles, i Relay ofereix un APY d'estalvi fins a 3.03 % APY en determinats plans. Aquestes taxes són variables i poden canviar segons el mercat.

Gestionem molt efectiu. Funcionarà un compte només en línia?

Pot funcionar, però comporta compromisos. Hauràs d'esperar tarifes per dipòsit o seguir passos addicionals. Per exemple, Bluevine utilitza la xarxa Green Dot per dipòsits d'efectiu, que normalment implica una tarifa de servei minorista. Si l'efectiu és una part clau de les teves operacions, un banc tradicional amb sucursals com Chase sol ser més senzill i rendible.

Conclusió

No hi ha un únic “millor” compte per a petites empreses — només el millor ajust per a la teva combinació única de dipòsits, pagaments, saldos i flux de treball de l'equip. Si necessites una regla simple per al 2025:

  • Considera un enfocament híbrid: combina un compte de sucursal (com Chase o Bank of America) per a necessitats d'efectiu i atenció presencial amb un compte centrat en programari (com Mercury o Relay) per a controls digitals superiors i rendiments.
  • Revisa la teva configuració periòdicament: les APY, les comissions i les regles d'exoneració canvien. Una revisió ràpida una o dues vegades l'any pot assegurar que segueixes amb el compte més adequat per a la teva empresa.

Nota d'exactitud: les comissions, característiques, APY i disponibilitat són correctes al 3 de setembre de 2025, segons les declaracions i pàgines de producte de cada proveïdor. Confirma sempre les condicions actuals directament amb l'entitat financera abans d'obrir o canviar de compte.

Fonts (seleccionades): Chase, Bank of America, Bluevine, Mercury, Relay, Axos Bank, Business Insider, American Express.

Si vols, indica'm la teva ubicació, saldo mensual típic, proporció vendes en efectiu vs targeta i volum esperat de transferències bancàries/ACH. Puc adaptar aquesta llista a una “millor coincidència” única per a la teva empresa.

Què són els comptes a pagar? Una guia amigable amb Beancount per al seguiment de factures de proveïdors en text pla

· 8 minuts de lectura
Mike Thrift
Mike Thrift
Marketing Manager

Els comptes a pagar (AP) són els diners que la teva empresa deu als seus proveïdors per béns o serveis que ja has rebut però encara no has pagat. En el món de la comptabilitat, l’AP es classifica com a passiu corrent al teu balanç: una quantitat que habitualment venç dins del proper any i sovint entre 30 i 60 dies.

Aquest concepte és central a la comptabilitat d’acumulació, on registres la despesa i el passiu corresponent en el moment en què arriba la factura, no quan realment envies els diners. Aquesta guia et mostrarà com gestionar tot el flux de treball d’AP de manera neta i eficient utilitzant l’eina de comptabilitat en text pla, Beancount.

2025-08-20-what-is-accounts-payable


Resum ràpid

Abans d’endinsar-nos en els detalls, cobrim l’essencial:

  • Accounts Payable (AP) representa els teus deutes a curt termini amb proveïdors. La trobaràs a la secció Liabilities del teu balanç.
  • Acumulació vs. Caixa: L’AP és un concepte que només existeix si mantens els teus llibres en base d’acumulació. Beancount suporta completament els fluxos d’acumulació, i la seva interfície web, Fava, mostrarà correctament els teus passius.
  • AP vs. AR: És senzill: els comptes a pagar són el que deus, mentre que els comptes a cobrar (AR) són el que altres et deuen.

On viu l’AP a Beancount (i a Fava)

Per començar a seguir l’AP, primer has de declarar un compte per a ell al teu llibre major. Una convenció estàndard és:

Liabilities:AccountsPayable

Opcionalment, pots crear subcomptes per a proveïdors importants (p. ex., Liabilities:AccountsPayable:ForestPaintSupply).

A Fava, aquest compte apareixerà al teu Balanç sota Liabilities. Pots fer clic per aprofundir i veure una llista de tots els ítems oberts i pagats, obtenint una visió clara de les teves obligacions. Fins i tot pots veure-ho en acció al llibre major d’exemple públic de Fava, que inclou un compte Liabilities:AccountsPayable.


Blocs de construcció de Beancount que faràs servir

Un flux de treball robust d’AP a Beancount es basa en algunes funcionalitats clau:

  1. Accounts: Utilitzaràs principalment el compte Liabilities:AccountsPayable, un compte de caixa com Assets:Bank:Checking, i els teus diversos comptes de despeses (p. ex., Expenses:Supplies).
  2. Metadata: Pots adjuntar dades clau‑valor a qualsevol transacció. Per a l’AP, usaràs metadades com invoice:, due:, terms:, i document:. Fava fins i tot reconeix la clau document: i crearà automàticament un enllaç clicable al fitxer adjunt si configures una carpeta de documents.
  3. Tags & Links: Usa #tags (com #ap) per a filtres fàcils i ^links (com ^INV-10455) per a enllaçar programàticament una factura i el seu pagament posterior. Això crea una pista clara i auditable.
  4. Queries (BQL): El llenguatge de consultes similar a SQL de Beancount (BQL) et permet executar informes potents, com llistar tots els comptes a pagar oberts ordenats per data de venciment, directament des de la línia d’ordres amb bean-query o a la pàgina “Query” de Fava.

Flux de treball principal d’AP a Beancount

Gestionar l’AP al teu llibre major implica dos o tres passos clau: registrar la factura, pagar‑la i, a vegades, gestionar pagaments parcials o descomptes.

1) Registra la factura del proveïdor (això crea el passiu)

Primer, registra la despesa i crea el compte a pagar quan arriba la factura.

; Optionally set your documents folder in your main Beancount file:
option "documents" "documents"

2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

Aquesta única entrada aconsegueix dues coses crítiques:

  1. Reconeix immediatament la despesa de 500 $ en el període correcte (agost).
  2. Crea un passiu corresponent de 500 $, mostrant que deus diners a Forest Paint Supply.

L’enllaç ^INV-10455 és un identificador únic que et permet adjuntar el mateix enllaç al pagament posterior, mantenint la factura i les transaccions de pagament lògicament connectades.

2) Paga la factura (això elimina el passiu)

Quan pagues la factura, crees una transacció que mou diners del teu compte bancari per liquidar el passiu.

a) Pagament estàndard (sense descompte):

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

Aquesta entrada redueix el teu saldo d’AP en 500 $ i el saldo del compte corrent en la mateixa quantitat. El passiu ja està liquidat.

b) Descompte per pagament anticipat (p. ex., "2/10, n/30"):

Si les condicions són “2/10, n/30”, pots gaudir d’un descompte del 2 % si pagues dins dels 10 dies. Per a la nostra factura de 500 ,aixoˋsuposaundescomptede10, això suposa un descompte de 10 .

2025-09-01 * "Forest Paint Supply" "Payment INV-10455 with discount" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Expenses:Supplies:Paint 10.00 USD
Assets:Bank:Checking -490.00 USD
2025-09-01 * "Forest Paint Supply" "Payment INV-10455 with discount" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -490.00 USD
Expenses:Supplies:Paint 10.00 USD

En ambdós casos, elimines completament el passiu de 500 ,redueixeselsaldodelteubancen490, redueixes el saldo del teu banc en 490 (l’import realment pagat) i registres el benefici de 10 $ com a descompte.

3) Gestió de pagaments parcials

La funcionalitat d’enllaç de Beancount fa que el seguiment de pagaments parcials sigui simple i net.

2025-10-01 * "Big Supplier" "Partial payment INV-9001" ^INV-9001
Liabilities:AccountsPayable 300.00 USD
Assets:Bank:Checking -200.00 USD
Expenses:Supplies 100.00 USD

2025-10-15 * "Big Supplier" "Partial payment INV-9001" ^INV-9001
Liabilities:AccountsPayable 200.00 USD
Assets:Bank:Checking -200.00 USD

Utilitzant l’enllaç ^INV-9001 a les tres transaccions, pots filtrar fàcilment el teu diari per veure tot l’historial d’aquesta factura i els pagaments associats.


Consultes útils (BQL)

Pots executar aquestes consultes a la pestanya “Query” de Fava o des de la línia d’ordres amb bean-query.

Consell: La funció any_meta() és extremadament útil per extreure camps de metadades com invoice: i document: als resultats de la teva consulta.

AP oberts per proveïdor (vista de saldo):

Aquesta consulta suma el saldo pendent actual que deus a cada proveïdor.

SELECT
account,
SUM(amount) AS balance
FROM
transactions
WHERE
account LIKE 'Liabilities:AccountsPayable:%'
GROUP BY
account
ORDER BY
balance DESC

AP oberts per factura + data de venciment:

Obté una llista ordenada de totes les factures obertes, ordenada per data de venciment, per ajudar-te a prioritzar els pagaments.

SELECT
invoice,
due,
amount
FROM
transactions
WHERE
account = 'Liabilities:AccountsPayable'
ORDER BY
due ASC

Llista de factures amb PDFs adjunts:

Aquesta consulta troba totes les teves factures i mostra el camí al document enllaçat.

SELECT
invoice,
document
FROM
transactions
WHERE
account = 'Liabilities:AccountsPayable'

On veure l’AP a Fava

  • Balance Sheet: Trobaràs l’AP a la secció de passius del teu balanç, juntament amb la resta de passius.
  • Journal: Filtra per #ap o per l’enllaç ^INV-xxxx per a veure només les transaccions relacionades amb comptes a pagar.
  • Documents Sidebar: Si has configurat una carpeta de documents, Fava mostrarà un enllaç directe a cada PDF adjunt a la factura.

Envelleïment d’AP, rotació i consciència del flux de caixa

  • Aging Schedule: Aquest informe agrupa els comptes a pagar segons el temps que han estat pendents, ajudant a identificar factures velles que podrien requerir acció.
  • AP Turnover Ratio: Mesura la velocitat amb què es paguen els comptes a pagar. Un ratio alt indica que les factures es paguen ràpidament, millorant la relació amb proveïdors.
  • If You Can’t Pay on Time: Si no pots pagar a temps, considera negociar extensions o establir plans de pagament per evitar penalitzacions.
2025-12-01 * "Supplier X" "Late payment" ^INV-2025
Liabilities:AccountsPayable 1000.00 USD
Assets:Bank:Checking -1000.00 USD
  • Aging Schedule: Aquesta consulta agrupa els comptes a pagar segons el temps que han estat pendents, ajudant a identificar factures velles que podrien requerir acció.
  • AP Turnover Ratio: Mesura la velocitat amb què es paguen els comptes a pagar. Un ratio alt indica que les factures es paguen ràpidament, millorant la relació amb proveïdors.
  • If You Can’t Pay on Time: Si no pots pagar a temps, considera negociar extensions o establir plans de pagament per evitar penalitzacions.

Millors pràctiques per a l’AP en un llibre de text pla

  • Go Paperless: Digitalitza totes les factures i guarda‑les en una carpeta segura.
  • Use Links Consistently: Utilitza l’enllaç ^ de manera consistent per a enllaçar factures i pagaments.
  • Keep Metadata Tidy: Mantén les metadades curtes i clares (invoice:, due:, terms:).
  • Accrual All the Way: Mantén el llibre major en base d’acumulació per a una visió completa de les teves obligacions financeres.

Iniciador de copiar i enganxar: factura de proveïdor + pagament

2025-08-05 * "Forest Paint Supply" "Paint order INV-10455" ^INV-10455 #ap
invoice: "INV-10455"
due: "2025-09-04"
terms: "2/10, n/30"
document: "invoices/2025-08-05-forest-paint-INV-10455.pdf"
Expenses:Supplies:Paint 500.00 USD
Liabilities:AccountsPayable -500.00 USD

2025-09-01 * "Forest Paint Supply" "Payment INV-10455" ^INV-10455
Liabilities:AccountsPayable 500.00 USD
Assets:Bank:Checking -500.00 USD

Esta guia és només per a fins educatius i no constitueix assessorament fiscal, legal o financer.

Referències i lectura addicional

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). SiIngressos 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,Despeses50.000, Despeses 48.000, Benefici Net $2.000.
  • Beancount: Ingressos 50.000,Despeses50.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.