Biblioteca para integração bancária para pagamentos de contas, transferências e PIX.
- Geração de remessa padrão CNAB 240
- Leitura de retorno padrão CNAB 240
- Integração via API
- Segmento A
- Segmento B
- Segmento J
- Segmento J-52 - Código de Barras
- Segmento J-52 - PIX QRCode
- Segmento O
- Segmento W
- Segmento N
- Segmento B
- Segmento W
- 237 - Bradesco
- 341 - Itaú
- 033 - Santander
- 756 - Sicoob
- 748 - Sicreedi
- 001 - Banco do Brasil
- 104 - Caixa Econômica
Abra um issue na página do projeto no GitHub ou clique aqui.
var numeroArquivo = 1;
var correntista = new Correntista()
{
TipoPessoa = TipoInscricaoCPFCNPJEnum.CNPJ,
CPF_CNPJ = "12.345.678/0001-00",
Nome = "Correntista BancoBR.Net",
Endereco = "Rua Teste BancoBR.Net",
NumeroEndereco = "567",
ComplementoEndereco = "Compl. End.",
Bairro = "Centro",
CEP = 12345678,
Cidade = "Ribeirão Preto",
UF = "SP",
Convenio = "",
NumeroAgencia = 825,
DVAgencia = "0",
NumeroConta = 12345,
DVConta = "6"
};
var movimentos = new List<Movimento>
{
new Movimento
{
Favorecido = new Favorecido
{
TipoPessoa = TipoInscricaoCPFCNPJEnum.CPF,
CPF_CNPJ = "123.456.789-00",
Nome = "Fornecedor A BancoBR.Net",
Endereco = "Rua Teste Fornecedor A BancoBR.Net",
NumeroEndereco = "765",
ComplementoEndereco = "Compl.Fornec. A",
Bairro = "Bairro A",
CEP = 7654321,
Cidade = "São Paulo",
UF = "SP"
},
TipoLancamento = TipoLancamentoEnum.TEDOutraTitularidade,
TipoMovimento = TipoMovimentoEnum.Inclusao, //Valor Padrão, pode ser ignorado a setagem desta propriedade
CodigoInstrucao = CodigoInstrucaoMovimentoEnum.InclusaoRegistroDetalheLiberado, //Valor Padrão, pode ser ignorado a setagem desta propriedade
NumeroDocumento = "5637",
DataPagamento = DateTime.Parse("2023-04-28"),
ValorPagamento = (decimal)2500.65,
Moeda = "BRL", //Valor Padrão, pode ser ignorado a setagem desta propriedade
MovimentoItem = new MovimentoItemTransferenciaTED
{
CodigoFinalidadeTED = FinalidadeTEDEnum.CreditoEmConta,
Banco = 341,
NumeroAgencia = 528,
DVAgencia = "0",
NumeroConta = 54321,
DVConta = "8"
}
},
new Movimento
{
Favorecido = new Favorecido()
{
TipoPessoa = TipoInscricaoCPFCNPJEnum.CPF,
CPF_CNPJ = "123.456.789-00",
Nome = "Fornecedor B BancoBR.Net",
Endereco = "Rua Teste Fornecedor B BancoBR.Net",
NumeroEndereco = "765",
ComplementoEndereco = "Compl.Fornec. B",
Bairro = "Bairro B",
CEP = 98765432,
Cidade = "São Paulo",
UF = "SP",
},
TipoLancamento = TipoLancamentoEnum.PIXTransferencia,
NumeroDocumento = "6598",
DataPagamento = DateTime.Parse("2023-04-28"),
ValorPagamento = (decimal)1830.34,
MovimentoItem = new MovimentoItemTransferenciaPIX
{
TipoChavePIX = FormaIniciacaoEnum.PIX_Email,
ChavePIX = "[email protected]"
}
}
};
var cnab = new ArquivoCNAB(BancoEnum.BradescoS, correntista, numeroArquivo, LocalDebitoEnum.DebitoContaCorrente, TipoServicoEnum.PagamentoFornecedor, movimentos);
var stringArquivo = cnab.Exportar();
File.WriteAllText(Path.Combine("C:\\Teste", $"cnab240_237.txt"), stringArquivo);
var correntista = new Correntista()
{
TipoPessoa = TipoInscricaoCPFCNPJEnum.CNPJ,
CPF_CNPJ = "12.345.678/0001-00",
Nome = "Correntista BancoBR.Net",
Endereco = "Rua Teste BancoBR.Net",
NumeroEndereco = "567",
ComplementoEndereco = "Compl. End.",
Bairro = "Centro",
CEP = 12345678,
Cidade = "Ribeirão Preto",
UF = "SP",
Convenio = "",
NumeroAgencia = 825,
DVAgencia = "0",
NumeroConta = 12345,
DVConta = "6"
};
var fileName = Path.Combine("C:\\Teste", $"cnab240_237.txt");
var linhas = File.ReadLines(fileName);
var cnabLeitura = new ArquivoCNAB(BancoEnum.BradescoS, correntista);
cnabLeitura.Importar(linhas);
foreach (var movimento in cnab.Movimentos) {
......
}