2

Pitch: splitbr: um mock open source do Split Payment da Reforma Tributária

Nos últimos meses eu queria entender de verdade como funciona o split payment da Reforma Tributária (a parte que separa CBS e IBS no momento do pagamento, antes do dinheiro chegar em quem vendeu). Fui procurar uma ferramenta pra simular isso localmente e não achei nenhuma, em nenhuma linguagem, até julho de 2026. A Plataforma Pública oficial só é acessível a bancos e instituições de pagamento homologadas pelo Comitê Gestor do IBS, então nem dev curioso conseguia testar nada.

Acabei construindo o que eu mesmo precisava. O splitbr é um monorepo pnpm/TypeScript com dois pacotes publicados no npm:

@splitbr/mock: roda a plataforma inteira localmente, sem precisar de nenhuma licença. npx @splitbr/mock e você já tem os 7 fluxos documentados, as matrizes de campo M/O/N-E como dados, a segregação em 3 passos com rejeição integral de lote, o long polling do modelo "Super Inteligente" e um motor de caos (429/503/circuit breaker) pra testar cenário de divergência.

@splitbr/client: SDK TypeScript tipado do contrato oficial, pra quem realmente integra a plataforma (PSPs homologados). Tipos gerados do OpenAPI oficial, os 4 headers obrigatórios injetados por middleware, erros RFC 7807 tipados e a fórmula de segregação como função pura.

O princípio central: o contrato oficial fica vendorado com hash pinado (vendor/MANIFEST.md), e um workflow semanal compara com as fontes oficiais. Se divergir, o build quebra e vira issue, em vez de ficar desatualizado silenciosamente.

Tem também um guia em português sem código pra quem tem empresa ou é contador e só quer entender o que muda no caixa.

Repo: https://github.com/Mozurok/splitbr
Site: https://mozurok.github.io/splitbr/

É projeto independente, sem afiliação com RFB, CGIBS, Serpro ou Núclea, e ainda é bem no início (próximo passo são os validadores de NF-e da NT 2025.002). Se alguém aqui já bateu de frente com esse tema ou quiser apontar furo, agradeço demais o feedback.

Carregando publicação patrocinada...