NESTE ARTIGO6 SEÇÕES
O Cord leva uma venda do orçamento ao pagamento e à fatura em 12 países. No começo, esperávamos que a parte difícil fossem os pagamentos. Foram as faturas. Cada item desta lista é uma suposição que nosso código fazia até as regras de um país provarem o contrário.
O documento
- Uma fatura é um PDF. No México, a fatura é um XML assinado pelo emissor e carimbado por um certificador autorizado pela autoridade fiscal (o SAT). O PDF é uma representação impressa, sem valor legal próprio.
- Uma fatura existe assim que você a salva. No México, na Argentina, no Chile, no Peru, na Colômbia e no Brasil, ela existe quando a autoridade fiscal, ou alguém autorizado por ela, a aceita. Antes disso, é um rascunho.
- Um país tem um só tipo de fatura. O Brasil tem um sistema para mercadorias (a NF-e, autorizada por cada estado) e outro para serviços (a NFS-e), e a alíquota do ISS é definida pelo município. A Argentina tem faturas classe A, B e C, escolhidas pela condição do emissor e do comprador perante o IVA.
- A data da fatura é a única que importa. Na Alemanha, a data da prestação do serviço é obrigatória. Se for a mesma da fatura, a fatura precisa dizer isso.
- Você sempre sabe quem é o cliente. A Espanha e a Argentina permitem faturar para um consumidor não identificado. A Argentina, só abaixo de certo valor.
Números
- Você escolhe os números das suas faturas. No Chile, você baixa da autoridade fiscal um arquivo assinado com a faixa de números que pode usar. A faixa vence, e um número usado nunca volta, mesmo que aquela fatura tenha sido rejeitada.
- O número da fatura é único por conta. É único por identificador fiscal e série. Duas contas com o mesmo identificador fiscal não podem compartilhar uma série, ou a autoridade vê uma fatura onde você tem duas.
max(numero) + 1resolve. Não quando duas requisições emitem ao mesmo tempo. Usamos um lease por sequência mais um índice único, porque nosso driver de Postgres fala por HTTP e não consegue manter um advisory lock de um comando para o outro.
Dinheiro
- O imposto é a soma dos impostos de cada linha. O Chile calcula o IVA sobre o valor líquido total da fatura. Enquanto arredondávamos por linha, as faturas em pesos não fechavam com frequência: num teste com valores aleatórios, 26% das de duas linhas e 47% das de cinco.
- Toda moeda tem centavos. Os valores de um documento tributário chileno são pesos inteiros. O iene não tem subunidade e o dinar kuwaitiano tem três casas decimais.
Math.round(valor * 100)cobra de um cliente no Japão 100 vezes o preço. - Um país tem um só imposto sobre vendas. Quebec cobra seu QST de 9,975% em cima do GST federal de 5%. A Espanha cobra IVA, exceto nas Canárias (IGIC) e em Ceuta e Melilla (IPSI). Os Estados Unidos não têm alíquota nacional: em Los Angeles a estadual é de 7,25%, e a real, com condado, cidade e distritos especiais, fica perto de 9,5%.
- A taxa de câmbio é a que o BCE publica. O Banco Central Europeu não publica o peso colombiano, o chileno nem o argentino, nem o sol peruano. Quando nenhuma fonte tem a taxa, paramos e avisamos, porque uma taxa inventada acaba num documento legal.
Mudar de ideia
- Dá para editar uma fatura depois de emitida. Com o Verifactu, na Espanha, cada registro de fatura leva o hash SHA-256 do anterior. Uma correção é um registro novo que aponta para o antigo. Garantimos isso no Postgres com um trigger que bloqueia UPDATE e DELETE nos registros assinados: nem nosso próprio código consegue reescrever a cadeia.
- Dá para cancelar uma fatura. Na Argentina, uma fatura aprovada pela autoridade não pode ser anulada: emite-se uma nota de crédito. No México, cancelar tem prazo legal e muitas vezes depende de o cliente aceitar.
- Pago quer dizer encerrado. No México, se você faturou antes de receber, cada pagamento precisa do seu próprio comprovante eletrônico, até o dia 5 do mês seguinte. Com a reforma francesa, nos serviços em que o IVA é devido no recebimento, o próprio recebimento é informado ao fisco.
Falar com a autoridade fiscal
- Se a requisição não respondeu, é só reenviar. Um reenvio pode criar uma segunda fatura legal. Quando não recebemos resposta, nunca reenviamos: perguntamos à autoridade o que ela tem (na Argentina, o último número autorizado e depois essa fatura) e decidimos a partir daí.
- A autoridade fiscal responde na hora. A AEAT, na Espanha, diz quanto esperar antes do próximo envio. Encadeamos o registro ao emitir a fatura e o enviamos depois a partir de uma fila, então uma queda da AEAT nunca impede ninguém de faturar.
- Se um lote é rejeitado, todas as faturas dele estão erradas. Pode ser um único registro. Dividimos o lote ao meio até isolá-lo.
- Fatura eletrônica obrigatória é coisa da América Latina. Desde 1º de setembro de 2026, toda empresa estabelecida na França precisa conseguir receber faturas eletrônicas por uma plataforma autorizada, e as pequenas começam a emiti-las em setembro de 2027. O Verifactu valeria em 2027; em outubro de 2026, o governo espanhol anunciou outubro de 2028, o quarto adiamento.
Por que isso importa
Nada disso é exótico. É assim que o faturamento se parece por dentro em qualquer país que quer ver suas faturas, e essa lista só cresce.
O Cord cuida disso para que um negócio não precise: um orçamento que o cliente aprova e paga num só link, e a fatura em um clique. O CFDI do México está ativo, o Verifactu na Espanha está em beta e as demais integrações da América Latina estão construídas, mas ainda não estão ativas.
O Cord leva uma venda do orçamento ao pagamento e à fatura em 12 países. No começo, esperávamos que a parte difícil fossem os pagamentos. Foram as faturas. Cada item desta lista é uma suposição que nosso código fazia até as regras de um país provarem o contrário.
## O documento
1. **Uma fatura é um PDF.** No México, a fatura é um XML assinado pelo emissor e carimbado por um certificador autorizado pela autoridade fiscal (o SAT). O PDF é uma representação impressa, sem valor legal próprio.
2. **Uma fatura existe assim que você a salva.** No México, na Argentina, no Chile, no Peru, na Colômbia e no Brasil, ela existe quando a autoridade fiscal, ou alguém autorizado por ela, a aceita. Antes disso, é um rascunho.
3. **Um país tem um só tipo de fatura.** O Brasil tem um sistema para mercadorias (a NF-e, autorizada por cada estado) e outro para serviços (a NFS-e), e a alíquota do ISS é definida pelo município. A Argentina tem faturas classe A, B e C, escolhidas pela condição do emissor e do comprador perante o IVA.
4. **A data da fatura é a única que importa.** Na Alemanha, a data da prestação do serviço é obrigatória. Se for a mesma da fatura, a fatura precisa dizer isso.
5. **Você sempre sabe quem é o cliente.** A Espanha e a Argentina permitem faturar para um consumidor não identificado. A Argentina, só abaixo de certo valor.
## Números
6. **Você escolhe os números das suas faturas.** No Chile, você baixa da autoridade fiscal um arquivo assinado com a faixa de números que pode usar. A faixa vence, e um número usado nunca volta, mesmo que aquela fatura tenha sido rejeitada.
7. **O número da fatura é único por conta.** É único por identificador fiscal e série. Duas contas com o mesmo identificador fiscal não podem compartilhar uma série, ou a autoridade vê uma fatura onde você tem duas.
8. **`max(numero) + 1` resolve.** Não quando duas requisições emitem ao mesmo tempo. Usamos um lease por sequência mais um índice único, porque nosso driver de Postgres fala por HTTP e não consegue manter um advisory lock de um comando para o outro.
## Dinheiro
9. **O imposto é a soma dos impostos de cada linha.** O Chile calcula o IVA sobre o valor líquido total da fatura. Enquanto arredondávamos por linha, as faturas em pesos não fechavam com frequência: num teste com valores aleatórios, 26% das de duas linhas e 47% das de cinco.
10. **Toda moeda tem centavos.** Os valores de um documento tributário chileno são pesos inteiros. O iene não tem subunidade e o dinar kuwaitiano tem três casas decimais. `Math.round(valor * 100)` cobra de um cliente no Japão 100 vezes o preço.
11. **Um país tem um só imposto sobre vendas.** Quebec cobra seu QST de 9,975% em cima do GST federal de 5%. A Espanha cobra IVA, exceto nas Canárias (IGIC) e em Ceuta e Melilla (IPSI). Os Estados Unidos não têm alíquota nacional: em Los Angeles a estadual é de 7,25%, e a real, com condado, cidade e distritos especiais, fica perto de 9,5%.
12. **A taxa de câmbio é a que o BCE publica.** O Banco Central Europeu não publica o peso colombiano, o chileno nem o argentino, nem o sol peruano. Quando nenhuma fonte tem a taxa, paramos e avisamos, porque uma taxa inventada acaba num documento legal.
## Mudar de ideia
13. **Dá para editar uma fatura depois de emitida.** Com o Verifactu, na Espanha, cada registro de fatura leva o hash SHA-256 do anterior. Uma correção é um registro novo que aponta para o antigo. Garantimos isso no Postgres com um trigger que bloqueia UPDATE e DELETE nos registros assinados: nem nosso próprio código consegue reescrever a cadeia.
14. **Dá para cancelar uma fatura.** Na Argentina, uma fatura aprovada pela autoridade não pode ser anulada: emite-se uma nota de crédito. No México, cancelar tem prazo legal e muitas vezes depende de o cliente aceitar.
15. **Pago quer dizer encerrado.** No México, se você faturou antes de receber, cada pagamento precisa do seu próprio comprovante eletrônico, até o dia 5 do mês seguinte. Com a reforma francesa, nos serviços em que o IVA é devido no recebimento, o próprio recebimento é informado ao fisco.
## Falar com a autoridade fiscal
16. **Se a requisição não respondeu, é só reenviar.** Um reenvio pode criar uma segunda fatura legal. Quando não recebemos resposta, nunca reenviamos: perguntamos à autoridade o que ela tem (na Argentina, o último número autorizado e depois essa fatura) e decidimos a partir daí.
17. **A autoridade fiscal responde na hora.** A AEAT, na Espanha, diz quanto esperar antes do próximo envio. Encadeamos o registro ao emitir a fatura e o enviamos depois a partir de uma fila, então uma queda da AEAT nunca impede ninguém de faturar.
18. **Se um lote é rejeitado, todas as faturas dele estão erradas.** Pode ser um único registro. Dividimos o lote ao meio até isolá-lo.
19. **Fatura eletrônica obrigatória é coisa da América Latina.** Desde 1º de setembro de 2026, toda empresa estabelecida na França precisa conseguir receber faturas eletrônicas por uma plataforma autorizada, e as pequenas começam a emiti-las em setembro de 2027. O Verifactu valeria em 2027; em outubro de 2026, o governo espanhol anunciou outubro de 2028, o quarto adiamento.
## Por que isso importa
Nada disso é exótico. É assim que o faturamento se parece por dentro em qualquer país que quer ver suas faturas, e essa lista só cresce.
O Cord cuida disso para que um negócio não precise: um orçamento que o cliente aprova e paga num só link, e a fatura em um clique. O CFDI do México está ativo, o Verifactu na Espanha está em beta e as demais integrações da América Latina estão construídas, mas ainda não estão ativas.