Nordlet

← Blogue

APIs de Livro-Razão de Partida Dobrada para Contabilidade de Marketplaces

Um guia técnico sobre o funcionamento de APIs imutáveis de livros-razão de partida dobrada, a necessidade que os marketplaces têm delas e o que procurar ao integrar a contabilidade na sua plataforma.

Nordlet Team · · 13 min de leitura

A maioria dos marketplaces descobre que tem um problema contabilístico da mesma forma: um novo elemento de finanças chega, abre a folha de cálculo de pagamentos e pergunta quem está efetivamente a registar a responsabilidade para com os vendedores entre o momento em que um comprador paga e o momento em que os fundos saem da conta da plataforma. A equipa de engenharia aponta para uma tabela de transactions. O elemento de finanças lembra que uma tabela de eventos não constitui um conjunto de registos contabilísticos. Essa lacuna, entre os dados de eventos e a contabilidade real, é aquilo que uma API de livro-razão de partida dobrada (double-entry ledger API) foi concebida para colmatar.

Trata-se de uma questão técnica com implicações regulatórias sérias. Os marketplaces detêm o dinheiro de terceiros, calculam o IVA em várias jurisdições e emitem faturas em nome dos vendedores. Fazer isto com uma tabela de transações desenvolvida internamente funciona até que um auditor, uma autoridade fiscal ou um comprador exigente peçam provas.

O que é efetivamente uma API de livro-razão de partida dobrada

Uma API de livro-razão de partida dobrada é um motor de contabilidade programável disponibilizado através de HTTP. Cada evento financeiro registado pela sua plataforma é escrito como um lançamento de diário equilibrado: pelo menos um débito e um crédito, com valores totais iguais, lançados em contas específicas num plano de contas (chart of accounts). A API aplica esse equilíbrio no momento da escrita e armazena os lançamentos de forma a que não possam ser editados silenciosamente mais tarde.

A vertente de "partida dobrada" (double-entry) corresponde à regra contabilística centenária segundo a qual cada transação afeta pelo menos duas contas. A vertente de "API" significa que o chamador é o seu produto, e não um contabilista humano. A vertente de "imutável" (immutable) significa que as correções são efetuadas através de lançamentos de estorno, e não alterando o histórico. Em conjunto, estas três propriedades tornam os registos resultantes aptos para auditoria (audit-ready), em vez de apenas organizados.

Uma definição de trabalho útil:

Uma API de livro-razão de partida dobrada aceita eventos financeiros da sua aplicação, converte cada um num lançamento de diário equilibrado face a um plano de contas definido, armazena esses lançamentos de forma imutável e disponibiliza o livro-razão resultante, o balancete e os relatórios financeiros através de pontos de finalização (endpoints) previsíveis.

O Nordlet foi construído exatamente em torno desta ideia: registos contabilísticos reais como uma API, com o livro-razão, a lógica de IVA, a faturação e a reconciliação acessíveis a partir do mesmo conjunto de pontos de finalização com o qual o seu produto já comunica.

Porque é que os marketplaces precisam especificamente disto

Um SaaS com um único comerciante consegue frequentemente safar-se sincronizando os dados com uma ferramenta de contabilidade geral uma vez por dia. Os marketplaces não o conseguem fazer, por três razões.

Em primeiro lugar, encontram-se no centro do fluxo financeiro. Um comprador paga à plataforma, a plataforma retém os fundos e, em seguida, paga aos vendedores deduzidas as comissões. Cada um destes movimentos é um evento contabilístico distinto que afeta diferentes contas: disponibilidades em caixa, contas a pagar a vendedores, proveitos da plataforma, IVA a pagar, provisões para reembolsos. Uma tabela de payments com uma coluna de status não capta essa realidade.

Em segundo lugar, operam em várias jurisdições fiscais. Um marketplace na UE com vendedores na Lituânia, na Alemanha e na Polónia, e compradores em todo o bloco, tem de aplicar o tratamento de IVA correto por transação, validar os números de IVA dos vendedores no VIES e produzir declarações que satisfaçam a autoridade fiscal de cada país. Acertar nisto no código da aplicação, reconciliando-o depois com um sistema de contabilidade separado, é o ponto onde a maioria dos marketplaces falha discretamente.

Em terceiro lugar, o volume de dados é inadequado para a contabilidade manual. Uma plataforma que processe dez mil encomendas por mês está a gerar dezenas de milhares de lançamentos de diário. Este processo tem de ser automatizado de ponta a ponta, caso contrário a equipa financeira torna-se num estrangulamento para o crescimento.

Como funciona a API, passo a passo

A mecânica é menos exótica do que parece. Um fluxo típico para uma encomenda num marketplace desenrola-se da seguinte forma:

1. A sua plataforma emite um evento financeiro. Um comprador conclui o pagamento. O seu sistema backend chama a API do livro-razão com dados como: ID da encomenda, comprador, vendedor, montante Bruto, taxa de IVA, comissão da plataforma, moeda e uma chave de idempotência (idempotency key).

2. O livro-razão constrói um lançamento de diário. A API traduz esse evento em débitos e créditos. Para uma venda direta num marketplace, isto pode significar debitar uma conta de caixa em trânsito, creditar uma conta de contas a pagar a vendedores pelo valor líquido, creditar uma conta de proveitos da plataforma pela comissão e creditar uma conta de IVA a pagar pela respetiva componente fiscal. Tudo equilibrado. Tudo lançado de forma atómica.

3. O lançamento é registado de forma imutável. Uma vez lançado, o registo passa a dispor de um identificador e de um carimbo temporal, não podendo ser editado. Se algo estiver incorreto, efetua um lançamento de estorno seguido de um lançamento corrigido. A trilha de auditoria (audit trail) é o objetivo principal.

4. Os relatórios a jusante são atualizados em tempo real. O balancete, os saldos de contas a pagar a vendedores, os sumários de IVA e a demonstração de resultados refletem imediatamente o novo lançamento. Não há processamentos noturnos, exportações ou janelas de reconciliação em que os números estejam pendentes de liquidação.

5. Os webhooks notificam o seu sistema. Eventos como sale_invoice.paid ou bank_transaction.matched são enviados para os seus pontos de finalização, permitindo que o seu produto reaja sem necessidade de consultas periódicas (polling). Em conjunto com as chaves de idempotência, isto significa que as tentativas falhadas são seguras e não ocorrem duplicações em caso de instabilidade na rede.

O ponto crítico de conceção: o livro-razão é a fonte de verdade para os acontecimentos de natureza financeira. A base de dados da sua aplicação é a fonte de verdade para o estado do produto. Os dois sistemas reconciliam-se porque o livro-razão é preenchido a partir dos eventos da aplicação, e não o inverso.

O plano de contas é onde o trabalho de conceção acontece

A maior parte do esforço intelectual na configuração de um livro-razão para um marketplace reside no plano de contas. Trata-se da lista de rubricas nomeadas onde incidem os débitos e os créditos: contas de caixa por banco, contas a pagar a vendedores (frequentemente uma por vendedor ou um agregado com sub-livros-razão), proveitos da plataforma por categoria, IVA a pagar por país, provisões para reembolsos, provisões para reversões de pagamentos (chargebacks), entre outras.

Existem alguns padrões que se repetem em vários marketplaces:

  • Os fundos dos vendedores constituem um passivo, não proveitos. O dinheiro que detém em nome dos vendedores é uma quantia a pagar. Tratá-lo como proveito e registar o pagamento posterior como gasto é o erro clássico detetado em auditorias de due diligence.
  • O IVA constitui um passivo distinto por país. Se opera em várias jurisdições da UE, convém dispor de contas de IVA a pagar distintas por país para que as declarações sejam mapeadas de forma limpa.
  • As comissões têm de ser modeladas no momento em que são obtidas, e não quando são pagas. A contabilidade de acréscimo (accrual accounting) não é opcional neste contexto.
  • Os reembolsos, as reversões e os litígios necessitam de contas próprias, para que a demonstração de resultados reflita a realidade em vez de um volume flutuante de vendas positivas e negativas.

Uma boa API de livro-razão permite-lhe definir esta estrutura uma única vez e efetuar lançamentos nela com segurança, evitando reinventar a lógica contabilística dentro do código do processo de finalização de compra (checkout).

Imutabilidade, fecho de períodos e a razão pela qual os auditores se importam

A imutabilidade pode parecer apenas um detalhe de base de dados. Na prática, representa a diferença entre registos contabilísticos que um auditor valida e registos que rejeita.

Se um marketplace conseguir editar silenciosamente os lançamentos do trimestre anterior, os números desse período tornam-se, em termos contabilísticos, incognitivos. Um livro-razão imutável impõe a regra de que o passado é imutável. As correções ficam visíveis enquanto tal. O fecho de períodos (period locking) complementa esta vertente: uma vez encerrado um mês, nenhum novo lançamento ou edição pode ser efetuado nesse período sem uma ação explícita de reabertura, que fica devidamente registada.

Para plataformas que venham a angariar financiamento, ser vendidas ou enfrentar uma auditoria fiscal, este aspeto não é um mero extra desejável. É o requisito que torna os registos defensáveis. O livro-razão do Nordlet foi concebido com esta premissa por defeito, integrando nativamente a estrutura de partida dobrada imutável e o fecho de períodos.

IVA da UE: a vertente que consome tempo de engenharia

O IVA é a área onde a maioria dos projetos de contabilidade de marketplaces derrapa. As regras não se limitam a "aplicar uma percentagem". Dependem do local onde se encontra o comprador, do local onde se encontra o vendedor, do tipo de bem ou serviço comercializado, do facto de o vendedor estar registado para efeitos de IVA, de a plataforma ser considerada o sujeito passivo presumido (deemed supplier) ao abrigo das regras de comércio eletrónico de 2021 e do regime de declaração aplicável a nível local.

Uma API de livro-razão robusta para a UE gere pelo menos os seguintes aspetos:

  • Validação no VIES dos números de IVA de vendedores e compradores, idealmente com os resultados em cache e registados na transação
  • Lógica de taxas de IVA por país, incluindo taxas reduzidas e isenções
  • Geração do registo i.SAF para declarações na Lituânia, bem como as respetivas saídas estruturadas equivalentes exigidas por outros Estados-Membros
  • Faturação eletrónica Peppol BIS 3.0 para jurisdições que transitaram para a obrigatoriedade da fatura eletrónica
  • Gestão de OSS/IOSS para vendas B2C transfronteiriças

Executar este processo no código da aplicação, país a país, representa um volume de trabalho equivalente ao de uma equipa de engenharia inteira que nunca fica concluído, uma vez que as regras mudam constantemente. Deslocar esta responsabilidade para a camada do livro-razão constitui a decisão pragmática.

A reconciliação é onde se manifesta a poupança de tempo

Assim que o livro-razão se assume como a fonte de verdade, a reconciliação bancária deixa de ser um calvário mensal. Os extratos bancários entram, o livro-razão já conhece o estado esperado e a correspondência (matching) torna-se largamente automática.

A perspetiva realista deste processo não consiste em "zero trabalho manual", mas sim em "as exceções vêm ao de cima". Um fluxo de reconciliação com um único clique para os noventa porcento das transações que correspondem perfeitamente, associado a uma fila de atendimento para os dez porcento restantes que exigem intervenção humana, traduz aproximadamente aquilo que uma API de reconciliação bem desenhada proporciona. A correspondência inteligente de pagamentos lida com pagamentos parciais, excessos de pagamento e pagamentos que cobrem várias faturas sem que seja necessário um humano escrever regras para cada caso.

A exportação SEPA (formato pain.001) para pagamentos a fornecedores e vendedores fecha o ciclo no lado das saídas. Aprova os pagamentos no seu produto, o livro-razão gera o ficheiro SEPA, o seu banco processa-o e o movimento resultante é reconciliado automaticamente de volta.

Desenvolver vs. Comprar vs. Integrar

As equipas de marketplaces tendem a ponderar três caminhos. Eis como se comparam nos critérios fundamentais:

Abordagem Tempo até à produção Preparação para auditorias Gestão do IVA da UE Integração no produto
Desenvolver o seu próprio livro-razão 12 a 24+ meses Depende inteiramente da sua equipa Desenvolvido internamente, por país Sim
Sincronizar com Xero/QuickBooks Semanas Adequado para a vertente contabilística, limitado para fluxos específicos de marketplace Parcial, requer suplementos (add-ons) Não, reside numa ferramenta separada
Integrar uma API de livro-razão (ex.: Nordlet) Semanas Incorporado através de livro-razão imutável e fecho de períodos Incorporado para a UE, incluindo VIES e i.SAF Sim, via API e SDKs

Desenvolver a solução internamente é defensível se a contabilidade constituir o seu próprio produto. Para todos os outros casos, a equação raramente compensa. A sincronização com uma ferramenta de contabilidade tradicional funciona para empresas com uma única entidade, mas entra em colapso perante os fluxos de um marketplace: pagamentos repartidos, sub-livros-razão de vendedores, IVA por país e cenários de plataforma como sujeito passivo presumido não se adaptam de forma limpa a ferramentas concebidas para os registos de uma única empresa.

A integração de um livro-razão com prioridade em API (API-first) é a solução para a qual a maioria das plataformas modernas converge. Os registos residem na experiência do seu próprio produto, os vendedores visualizam as suas próprias finanças na sua interface de utilizador (UI) e as exigências complexas de conformidade normativa são tratadas na camada de infraestrutura.

O que procurar ao avaliar uma API de livro-razão

Uma breve lista de verificação útil para manter aberta durante reuniões com fornecedores:

  • Armazenamento imutável de partida dobrada com correções através de lançamentos de estorno, em vez de linhas editáveis
  • Fecho de períodos com registo das ações de reabertura
  • Chaves de idempotência em cada ponto de finalização de escrita
  • Webhooks para os eventos aos quais o seu produto precisa de reagir, e não apenas uma API baseada em consultas periódicas
  • SDKs tipados nas linguagens utilizadas pela sua equipa
  • Lógica de IVA por país, incluindo VIES, i.SAF ou equivalentes, e OSS/IOSS
  • Suporte multiempresa, caso opere com várias entidades ou planeje fazê-lo
  • Contotrolo de acessos baseado em funções (RBAC) com granularidade suficiente para separar programadores, contabilistas e utilizadores com permissão de visualização
  • Exportação de relatórios em XLSX, PDF e JSON, com notificações via webhook quando relatórios volumosos estiverem prontos
  • Um ambiente de testes (sandbox) que espelhe o comportamento em produção, e não uma demonstração limitada

Se um fornecedor não demonstrar os primeiros três pontos numa reunião técnica, o resto torna-se irrelevante.

O que faria em primeiro lugar

Se um marketplace estiver a iniciar este trabalho do zero, a sequência que poupa mais dissabores é a seguinte:

  1. Mapeie os fluxos monetários reais num quadro branco antes de escrever qualquer código. Quem deve a quem, em que momento, em que moeda e com que tratamento de IVA.
  2. Esboce o plano de contas a partir desse mapa. Contas a pagar a vendedores, proveitos da plataforma, IVA a pagar por país, provisões. Peça a um contabilista que o reveja antes de o colocar em produção.
  3. Escolha a camada do livro-razão. Desenvolver, sincronizar ou integrar. Seja realista quanto à capacidade da sua equipa para entregar e manter a solução.
  4. Implemente um fluxo de ponta a ponta: encomenda, fatura, pagamento, reconciliação. Prove que equilibra. Só depois escale.
  5. Ative o fecho de períodos assim que o primeiro mês fechar de forma limpa. A disciplina consolida-se com o hábito.

As equipas que obtêm sucesso nesta área encaram o livro-razão como infraestrutura principal, e não como um relatório acessório tardio. Esta é a mudança de paradigma, e é o que torna a conversa financeira com um auditor, um investidor ou uma autoridade fiscal breve em vez de prolongada.

FAQ

Uma API de livro-razão de partida dobrada é o mesmo que uma integração de contabilidade?

Não. Uma integração sincroniza dados do seu produto para uma ferramenta de contabilidade externa, habitualmente com atraso temporal. Uma API de livro-razão é o próprio sistema de contabilidade, no qual se escreve diretamente e em tempo real. Esta distinção é importante porque as integrações perdem fidelidade nas margens: pagamentos parciais, múltiplas moedas, divisões de marketplaces. Uma API de livro-razão regista estes elementos de forma nativa.

Não podemos simplesmente utilizar os relatórios da Stripe ou da Adyen?

Os relatórios dos processadores de pagamentos indicam o que transitou através do processador. Não constituem livros de partida dobrada. Desconhecem as suas contas a pagar a vendedores que ainda não foram liquidadas, os seus passivos de IVA em vários países ou as suas despesas alheias ao processador de pagamentos. Representam apenas um elemento de entrada no livro-razão, e não um substituto para o mesmo.

Quão imutável é a imutabilidade na prática?

Os lançamentos não podem ser editados. As correções assumem a forma de novos lançamentos que referenciam o original. Trata-se de uma decisão de conceção, e não de tecnologia. Qualquer livro-razão competente fará cumprir esta regra. A razão para se importar com isto é que a prática de "editá-lo para coincidir com o banco" é precisamente o comportamento que torna os registos contabilísticos indignos de confiança.

E quanto aos marketplaces fora da UE?

A mecânica da partida dobrada é universal. A lógica fiscal não o é. Uma API de livro-razão otimizada para o IVA da UE lidará convenientemente com operações centradas na UE e consegue suportar transações extracomunitárias, mas se o seu mercado principal se centrar no imposto sobre as vendas (sales tax) dos EUA ou em regimes de faturação eletrónica da América Latina, verifique a cobertura de conformidade específica antes de se comprometer.

Quanto tempo demora efetivamente a implementação?

Para um marketplace com um modelo de eventos limpo, integrar uma API de livro-razão até ao ponto de executar um fluxo de ponta a ponta exige habitualmente algumas semanas de engenharia. A migração completa a partir de uma configuração legada, incluindo dados históricos, demora mais tempo. A variável é quase sempre o estado dos dados existentes, e não a própria API.