Contexto
Ao emitir uma NFS-e, o tomador (borrower) precisa de nome, endereço completo e código do IBGE do município. Quando a aplicação só tem o CPF ou o CNPJ do cliente, esses dados são preenchidos na mão a cada emissão.
Proposta
Um recurso opcional de complemento de dados cadastrais que resolve o tomador a partir do documento e devolve o objeto pronto para serviceInvoices.create(). A emissão continua inteiramente na NFE.io; a consulta apenas preenche os campos de cadastro antes do envio.
O desenho é desacoplado do provedor:
- Interface PessoaLookup (consultarCpf / consultarCnpj), que qualquer fonte cadastral pode implementar.
- Implementação de referência CpfCnpjComBrLookup sobre a API pública cpfcnpj.com.br, usando fetch nativo (mantém o "zero dependências de runtime").
- TomadorResolver com porCpf, porCnpj e porDocumento, mapeando para os campos reais do DTO (street, number, city.code do IBGE, type).
O tipo do tomador é derivado do schema gerado (CreateServiceInvoiceData), então acompanha o contrato automaticamente. Tudo é aditivo e opcional (opt-in): quem já monta o borrower na mão não é afetado.
Sobre a fonte
A cpfcnpj.com.br entrega cadastro de CPF/CNPJ em tempo real (D+0), com cobertura de 100% da base da Receita Federal, e no CNPJ traz situação cadastral, porte e Simples Nacional/SIMEI. Há token público de testes que devolve dados fictícios.
Licença (dúvida)
A API do GitHub reporta licença ausente e não há arquivo LICENSE no repositório, embora o package.json declare "license": "MIT", o cabeçalho de src/index.ts traga @license MIT e o README diga "MIT (c) NFE.io". Podem confirmar a licença? Se for MIT mesmo, vale adicionar um arquivo LICENSE na raiz, o que ajuda ferramentas de compliance e deixa claro sob quais termos as contribuições entram. Posso incluir o arquivo no próprio PR se preferirem.
Se houver interesse, já tenho a implementação com testes e documentação e abro o PR.
Contexto
Ao emitir uma NFS-e, o tomador (borrower) precisa de nome, endereço completo e código do IBGE do município. Quando a aplicação só tem o CPF ou o CNPJ do cliente, esses dados são preenchidos na mão a cada emissão.
Proposta
Um recurso opcional de complemento de dados cadastrais que resolve o tomador a partir do documento e devolve o objeto pronto para serviceInvoices.create(). A emissão continua inteiramente na NFE.io; a consulta apenas preenche os campos de cadastro antes do envio.
O desenho é desacoplado do provedor:
O tipo do tomador é derivado do schema gerado (CreateServiceInvoiceData), então acompanha o contrato automaticamente. Tudo é aditivo e opcional (opt-in): quem já monta o borrower na mão não é afetado.
Sobre a fonte
A cpfcnpj.com.br entrega cadastro de CPF/CNPJ em tempo real (D+0), com cobertura de 100% da base da Receita Federal, e no CNPJ traz situação cadastral, porte e Simples Nacional/SIMEI. Há token público de testes que devolve dados fictícios.
Licença (dúvida)
A API do GitHub reporta licença ausente e não há arquivo LICENSE no repositório, embora o package.json declare "license": "MIT", o cabeçalho de src/index.ts traga @license MIT e o README diga "MIT (c) NFE.io". Podem confirmar a licença? Se for MIT mesmo, vale adicionar um arquivo LICENSE na raiz, o que ajuda ferramentas de compliance e deixa claro sob quais termos as contribuições entram. Posso incluir o arquivo no próprio PR se preferirem.
Se houver interesse, já tenho a implementação com testes e documentação e abro o PR.