Particularidades
version="1.0" encoding="UTF-8"
html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd" Guia ACBrBoleto – Especificidades dos Bancos Este documento tem por finalidade orientar os usuários do ACBrBoleto quanto ao correto uso das propriedades que são particularidades de alguns bancos. 1. Tabela com principais campos do grupo ACBrBoleto.Cedente e quais bancos os utilizam. Componente Monitor/ Lib Bradesco Banco do Brasil Banco da Amazonia Banestes Itau Sicredi Mercantil Caixa Caixa (Sicob) HSBC Banco Nordeste BRB BIC Safra Daycoval Pine Cecred Agencia/DV Agencia/DigitoAgencia X X X X X X X X X X X X X X X X X Conta/DV Conta/DigitoConta X X X X X X X X X X X X X X X X X Endereço¹ Logradouro/Numero/Bairro/Cidade/CEP/UF X X X X X X X X X X X X X X X X X CaracTitulo² CaracTitulo X X X X X X Tipo Inscricao TipoPessoa X X X X X X X X X X X X X X X X X CNPJ(CPF) CNPJCPF X X X X X X X X X X X X X X X X X Telefone¹ Não Implementado X X X X X X X X X X X X X X X X X Cod. Cedente Codigo Cedente X X X X X X X X X X X Cod. Transmissão Cod Transmissão X Convenio Convenio X X X X X X DV Agencia Conta DigitoVerificadorAgenciaConta X Fantasia¹ Não Implementado X X X X X X X X X X IdentDistribuicao Não Implementado Modalidade Modalidade X X X X X X X Operacao Não Implementado X Respon Emissao RespEmis X X X X X X X X X TipoCarteira TipoCarteira X X Tipo Documento Tipo Documento X X X Componente Monitor/ Lib Uniprime XX Unicred XX Banese Credsis Cresol CitiBank ABC Brasil Bancoob Banrisul Santander Agencia/DV Agencia/DigitoAgencia X X X X X X X X X X Conta/DV Conta/DigitoConta X X X X X X X X X X Endereço¹ Logradouro/Numero/Bairro/Cidade/CEP/UF X X X X X X X X X X CaracTitulo² CaracTitulo X X X Tipo Inscricao TipoPessoa X X X X X X X X X X CNPJ(CPF) CNPJCPF X X X X X X X X X X Telefone¹ Não Implementado X X X X X X X X X X Cod. Cedente CodigoCedente X X X X Cod. Transmissão CodTransmissão X X Convenio Convenio X X DV Agencia Conta DigitoVerificadorAgenciaConta X Fantasia¹ Não Implementado X X X X X X X X X X IdentDistribuicao Não Implementado X Modalidade Modalidade X X X Operacao Não Implementado X X ResponEmissao RespEmis X X X X X TipoCarteira TipoCarteira X X TipoDocumento TipoDocumento X X Componente Monitor/ Lib Alfa Money Plus Banco C6 Banco Rendimento Banco Inter BS2 PenseBank API BTG Pactual Banco Original Votorantin Pefisa Fibra Industrial do Brasil Agencia/DV Agencia/DigitoAgencia X X X X X X X X X X X X X Conta/DV Conta/DigitoConta X X X X X X X X X X X X X Endereço¹ Logradouro/Numero/Bairro/Cidade/CEP/UF X X X X X X X X X X X X X CaracTitulo² CaracTitulo Tipo Inscricao TipoPessoa X X X X X X X X X X X X X CNPJ(CPF) CNPJCPF X X X X X X X X X X X X X Telefone¹ Não Implementado Cod. Cedente CodigoCedente X X X X X X X X X Cod. Transmissão CodTransmissão X X Convenio Convenio X X X DV Agencia Conta DigitoVerificadorAgenciaConta X Fantasia¹ Não Implementado IdentDistribuicao Não Implementado X Modalidade Modalidade X Operacao Não Implementado X X X ResponEmissao RespEmis X X X TipoCarteira TipoCarteira X X TipoDocumento TipoDocumento X Componente Monitor/ Lib Bocom BBM UY3 Agencia/DV Agencia/DigitoAgencia X X Conta/DV Conta/DigitoConta X X Endereço¹ Logradouro/Numero/Bairro/Cidade/CEP/UF X X CaracTitulo² CaracTitulo X X Tipo Inscricao TipoPessoa X X CNPJ(CPF) CNPJCPF X X Telefone¹ Não Implementado X X Cod. Cedente CodigoCedente X X Cod. Transmissão CodTransmissão Convenio Convenio DV Agencia Conta DigitoVerificadorAgenciaConta Fantasia¹ Não Implementado IdentDistribuicao Não Implementado Modalidade Modalidade Operacao Não Implementado ResponEmissao RespEmis TipoCarteira TipoCarteira TipoDocumento TipoDocumento Correspondentes Componente Monitor/ Lib Banco do Brasil Sicoob Safra Bradesco Pine Bradesco Bradesco Sicoob Banco Sofisa Itau Banco Athena Bradesco Banco Pensebank Agencia/DV Agencia/DigitoAgencia X X X X X X X Conta/DV Conta/DigitoConta X X X X X X Endereço¹ Logradouro/Numero/Bairro/Cidade/CEP/UF X X X X X X X CaracTitulo² CaracTitulo X X X Tipo Inscricao TipoPessoa X X X X X X X CNPJ(CPF) CNPJCPF X X X X X X X Telefone¹ X X X X X X X X Cod. Cedente CodigoCedente X X X Cod. Transmissão CodTransmissão X X Convenio Convenio X X X DV Agencia Conta DigitoVerificadorAgenciaConta Fantasia¹ Não Implementado X X X X IdentDistribuicao Não Implementado Modalidade Modalidade X Operacao Não Implementado ResponEmissao RespEmis X X X TipoCarteira TipoCarteira TipoDocumento TipoDocumento X 2. Tabela com principais campos do grupo ACBrBoleto.Banco e quais bancos os utilizam. Componente Monitor/ Lib Bradesco Banco do Brasil Banco da Amazonia Banestes Itau Sicredi Mercantil Caixa Caixa (Sicob) HSBC Banco Nordeste BRB BIC Safra Daycoval Pine Cecred Casas Decimais MoraJuros Não Implementado X Layout Versao Arquivo* Versao Arquivo X X X Layout VersaoLote* VersaoLote X X X X X X X X X X Local Pagamento³ Local Pagamento X X Componente Monitor/ Lib Uniprime XX Unicred XX Banese Credsis Cresol CitiBank ABC Brasil Bancoob Banrisul Santander Casas Decimais MoraJuros Não Implementado X Layout Versao Arquivo* Versao Arquivo X X X Layout VersaoLote* VersaoLote X X X Local Pagamento³ Local Pagamento X X X X X X X X X X Correspondentes Componente Monitor/ Lib Banco do Brasil Sicoob Safra Bradesco Pine Bradesco Bradesco Sicoob CasasDecimaisMoraJuros Não Implementado LayoutVersaoArquivo* VersaoArquivo LayoutVersaoLote* VersaoLote LocalPagamento³ LocalPagamento X X X X NumeroCorrespondente³ NumeroCorrespondente X X X X ¹ Informações utilizadas somente para impressão do boleto ² Propriedade que poder informada tanto no cedente, quanto no titulo, se informado no cedente o titulo herdará o mesmo valor. ³ Componente atribui valor default conforme regras dos bancos. 3. Outras Informações Importantes Obs.: Para Integração Bancária por WebService ou API, consulte o tópico abaixo para saber os bancos com essa disponibilidade e os campos específicos para integração WEB. https://www.projetoacbr.com.br/forum/topic/57991-acbrboleto-via-webservice/ 3.1 Banco do Brasil ACBrBoleto.Banco.LayoutVersaoArquivo: Informar a versão do layout sendo utilizado, assume valor default caso nada seja informado. ACBrBoleto.Cedente.Convenio: deve-se informar o convênio sem 0 a esquerda, pois junto com a carteira determina a quantidade de digitos livres para uso no nosso número. Modalidade: Informar o valor chamado de variação pelo banco. DataLimitePagto: esse campo é utilizado para cálculo dos dias para recebimento após vencimento. 3.2 Banestes Modalidade: Tipo de cobrança informado pelo banco, com valores possíveis conforme manual do banco (2, 3, 4, 5, 6 e 7), usado para montar o campo AsBace. 3.3 Sicredi ACBrTitulo.ACBrBoleto.Cedente.AgenciaDigito: Valor informado pelo banco como Posto Beneficiário, com 2 digitos. Modalidade: Tipo de cobrança, 1- Com Registro ou diferente de 1 -Sem registro (atualmente em vigor somente cobrança com registro). Titulo[x].CodigoGeração: Valor definido pelo banco como sendo o Byte de geração. Titulo[x].CodigoMora: A- Valor ou B-Percentual. Titulo[x].Informativo: Stringlist para envio de texto a ser impresso no boleto quando o mesmo é feito pelo banco. Quando o banco gerar nosso número, informar 600 na propriedade CodigoGeracao e RespEmis = BancoEmite 3.4 Caixa Econômica Sicob Titulo[x].Carteira: Informar RG para cobrança registrada e SR para cobrança sem registro (em vigor somente a registrada) Titulo[x].CarteiraEnvio: Informar TceCedente para emissão do boleto pelo beneficiário e TceBanco para emissão pelo banco. 3.5 Caixa Econômica (SIGCB) ACBrBoleto.Cedente.Convenio: deve-se informar o convênio incluíndo o Código de Operação. Titulo[x].Carteira: Informar CS- Carteira Simples (11), CR- Carteira Rápida(12), SR – Sem Registro(14) ou DE- Carteira Descontada. (SR- Sem Registro fora de vigor atualmente) PARA CÓDIGO DE BENEFICIÁRIO ENTRE 000001 E 999999 Para versões do layout ‘101’ (Header de Arquivo) e ‘060’ (Header de Lote), alinhar à esquerda e preencher com ‘0’ à direita, na última posição. Exemplo 1: Código do Beneficiário: 339578 então o layout será 101 e lote 060 PARA CÓDIGO DE BENEFICIÁRIO A PARTIR DE 1100000 Utilizar somente as versões de layout ‘107’ (Header de Arquivo) e ‘067’ (Header de Lote) com alinhamento à direita. Exemplo 3: Código do Beneficiário: 1100123 3.6 HSBC Titulo[x].Carteira: Informar CSB / 1 – Carteira Registrada ou CNR / 2 – Carteira Sem Registro. (Atualmente somente Carteira Registrada em vigor) Titulo[x].ValorAbatimento: Além de informar aqui o valor do abatimento, a propriedade Titulo[x].OcorrenciaOriginal.Tipo deverá ser toRemessaConcederAbatimento ou toRemessaCancelarAbatimento. Titulo[x].PercentualMulta: Além de informar o percentual de multa aqui, deverá ser informado também a propriedade Titulo[x].DataMoraJuros e em Titulo[x].Instrucao1 os códigos 15 ou 16, quando trata-se de data definida para inicio da cobrança de multa. Quando a multa for cobrada X dias após o vencimento, deverão ser informados os valores 22 (dias úteis e multa em valor), 73 (dias corridos e multa em percentual) ou 74 (dias úteis e multa em percentual) na propriedade Titulo[x].Instrucao1. Quando a multa for cobrada logo após o vencimento, a propriedade Titulo[x].Instrucao1 deverá receber o valor 24. 3.7 Banco do Nordeste Titulo[x].Carteira: Informar 01- Cobrança Simples Escritural, 02- Cobrança Vinculada, 04-Cobrança Simples, 05- Cobrança Vinculada ou I-Cobrança Simplificada. Cedente.CaracTitulo: Informar tcSimples para Cobrança Simples ou tcVinculada para cobrança vinculada. Cedente.ResponEmissao: Informar tbBancoEmite para emissão pelo banco ou tbCliEmite para emissão pelo beneficiário. 3.8 Banco BRB Titulo[x].DataLimitePagto, Titulo[x].DataProtesto: Devido as instruções de multa e juros ficarem alocadas na remessa nas mesmas posições relativas a Limite para Pagamento e Protesto, se houver sido informado multa e juros, nem o Limite para Pagamento e nem o Protesto serão incluídos na remessa, se somente uma instrução tiver sido utilizada será incluído o Limite para Pagamento e se ambos as instruções estiverem disponíveis, então serão informados 3.9 Banco Safra Titulo[x].PercentualMulta: Para que este campo seja tratado corretamente pelo banco, deverá ser informado na propriedade Titulo[x].Instrucao1 o valor 16, relativo a instrução de multa. Titulo[x].ValorAbatimento: Se informado multa, o mesmo não derá incluido na remessa, uma vez que neste banco são usadas as mesmas posições. Banco Safra Bradesco Titulo[x].CaracTitulo: Informe aqui a informação passada pelo banco como Código da Carteira, sendo tcSimples(1) ou tcVinculada(2). 3.10 Cecred Titulo[x].CaracTitulo: Informe aqui a informação passada pelo banco como Código da Carteira, sendo: tcSimples (1), tcVinculada (2), tcCaucionada (3) ou tcDescontada (4). 3.11 Banco ABC Brasil Cedente.IdentDistribuicao: Informar de quem é a responsabilidade de distriibuição dos boletos, tbBancoDistribui ou tbClienteDistribui. Titulo[x].CaracTitulo: Informe aqui a informação passada pelo banco como Código da Carteira, sendo: tcSimples (1), tcCaucionada (3), tcVinculada (5) ou tcDescontada (4). Titulo[x].DataProtesto: Somente será adicionada a remessa se não houver sido informada nenhuma informação a propriedade Titulo[x].Instrucao1. Titulo[x].DataProtesto: Somente será adicionada a remessa se não houver sido informada nenhuma informação a propriedade Titulo[x].Instrucao1. Titulo[x].Instrucao2: Informar 1, 2 ou 3 conforme opção para baixa ou devolução do titulo, se nada for informado será adicionado automaticamente o código para Não Baixar. Titulo[x].InstrucaoX: Se alguma das instruções contiver o código 94, a primeira mensagem da lista de mensagens será incluída no registro do Tipo 1 e as demais no registro especifico para mensagens. 3.12 UnicredES ACBrBoleto.Banco.LayoutVersaoLote: Informar “44” para que a remessa seja gerada com o valor “UNICRED” ou “944” para ter o valor “UNICRED DO BRASIL” no header do arquivo. 3.13 Banco Itaú Para Protesto ou Negativação preencher os campos: Titulo[x].CodigoNegativacao: Utilizar Código “7” para Negativação ou códigos para Protesto “1” ProtestoDiasCorrido, “2” ProtestoDiasUteis. Titulo[x].DataProtestoNegativacao ou Titulo[x].DataProtesto Para gerar mensagens Segmento 7 CNAB 400 é necessário informar a propriedade codigo flash: 3.14 Banco Inter Para o calculo do campo livre necessário para a construção do código de barras e linha digitavel, é necessário na propriedade ACBrBoleto.Cedente.CodigoCedente informar o Número da Operação informado pelo banco Inter (Conta Digital > Emissão via CNAB > Retorno). DataLimitePgto Obrigatorio a data limite de pagamento ser menor ou igual a 60 dias Carteira 112: Necessário registrar primeiro a remessa para obter o nosso número de posse do nosso número é possível realizar a impressão da ficha de compensação Diferenças entre a carteira 110 e 112: Para comunicação com a API, necessário no banco Inter alimentar as propriedades em WebService além dos campos tradicionais ClientID, ClientSecret : ArquivoCRT = Caminho e arq CRT ('C:\INTER\InterAPI_Certificado.crt') Scope = (conforme manual/documentação) Atenção para quem quer utilizar boleto híbrido: Para saber mais sobre este novo endpoint, clique aqui Existem relatos que após a inclusão , a API não está devolvendo o campo nossoNumero, neste cado se olhar o log, o banco está devolvendo: "situacao": "EM_PROCESSAMENTO"; 3.15 Banco BS2 Para garantir que seu sistema esteja configurado corretamente, é importante que a propriedade LayoutVersaoArquivo esteja devidamente parametrizada. 3.16 Banco Bancoob/ Sicoob 3.17 Banco Santander Quem utiliza a API, se for realizar testes não utilizar SandBox, utilizar testes no ambiente de Homologação. 3.18 Banco MoneyPlus 3.19 Banco Mercantil 3.20 Banco Athena Bradesco Exemplo Delphi/Lazarus: DadosNota.NumNFe := '001'; DadosNota.ValorNFe := 100.00; DadosNota.EmissaoNFe := 01/11/2023; DadosNota.ChaveNFe := '12333322288811000103552211230912751230003950'; Exemplo INI para ACBrMonitor ou ACBrLibBoleto: [NFe1-1] NumNFe='001' ValorNFe=100.00 EmissaoNFe=01/11/2023 ChaveNFe='12333322288811000103552211230912751230003950' 3.21 Banco Daycoval ACBrBoleto.Banco.LayoutVersaoLote = 4 (quando o código de remessa citado no manual for igual a 4) ACBrBoleto.Banco.LayoutVersaoLote = 6 (quando o código de remessa citado no manual for igual a 6 - Padrão)
Titulo[x].CodigoGeracao := '600';
ACBrBoleto.Cedente.RespEmis = ACBrResponEmissao.tbBancoEmite;
Lembrete: Atualmente o banco esta retornando nosso numero com inicio 600, favor conferir se esta batendo nossoNumero quando criado por eles.
Validação “identificação de titulo caucionável” (posição 108 CNAB 240), informar as propriedades:
Banco.LayoutVersaoArquivo = 085
Se ACBrTitulo.CaracTitulo = tcCaucionada ele preenche na posição 108 “S”, caso seja diferente de tcCaucionada ele preenche com “N”
Exemplo Cedente.CodigoFlash := ‘XXX’
Carteira 112: Você precisa aguardar o retorno do banco para capturar o NossoNumero criado por eles (utiliza-se o seuNumero para que você possa identificar o retorno)
Carteira 110: Você já envia o boleto com o NossoNumero, não depende do retorno do Inter como na carteira 112.
ArquivoKEY = Caminho e arq Key ('C:\INTER\InterAPI_Chave.key')
É necessário você salvar a informação de retorno da propriedade “NossoNumeroCorrespondente” que é devolvida após a inclusão.
Esta propriedade é necessária para realizar as consultas, alterações e baixas na API Cobrança Inter PIX
Quando API Pix não está devolvendo NossoNumero:
Então deve aguardar alguns minutinhos e realizar a consulta detalhe utilizando a propriedade NossoNumeroCorrepondente
Saiba Como configurar, clique aqui
Atualmente existem 02 (dois) layout’s de Remessa – registro Header (duas versões de manuais)
Para a versão de layout menor que 006, o resultado do nosso número de verificação (DV) será diferente. Para versões iguais ou maiores que 006, o resultado será sempre 0. Já para versões menores que 006, o resultado do DV será 1, sempre quando ele for igual a 10 ou 11.
Atenção com os preenchimentos dos dados.
No campo “Digito da agência” informar o Número do Posto.
No campo “Agência” informar o Cooperativa.
Para API, as chaves pode ser exportadas desta forma:
https://www.projetoacbr.com.br/forum/topic/73380-exportar-certificado-pem-crt-e-key/
Necessário o código de transmissão fornecido pelo banco.
Carteira, exemplo : 05, 06, 04
Modalidade, exemplo: 101,102,201
Atenção
Para que a solução ACBrBoleto crie o DV do nossoNumero automaticamente deixe a propriedade sem preencher:
(CNAB) VersaoDF =
Para não criar o DV do nossoNumero:
(API) VersaoDF = V1
API Santander
Mais informações, veja este link:
https://www.projetoacbr.com.br/forum/topic/76632-altera%C3%A7%C3%A3o-do-endpoint-api-santander-para-testes/
Existem 2 manuais de enviou, ou seja, 2 (dois) tipos de remessa diferentes.
Para utilizar Layout novo da Grafeno, informar a propriedade LayoutVersaoArquivo = 2 ;
LayoutVersaoArquivo diferente de 2, é assumido Layout da XP Investimentos.
No Banco Mercantil existe uma particularidade na composição do “Nosso Número” onde eles pedem para inciar com um número especifico do beneficiário.
Exemplo: eles informaram que precisa iniciar com “30”
Então na propriedade “Modalidade” você deve informar 30, ficando
Modalidade = 30
No Banco Athena Bradesco CNAB 400 informar os dados referente a NFe
DadosNota := FACBrBoleto.CriarTituloNaLista.CriarNFeNaLista;
No Banco Daycoval existem até o momento 3 (Três) versões de layouts diferentes, então é necessário determinar a propriedade LayOutVersãoLote com um dos valores da tabela abaixo:
ACBrBoleto.Banco.LayoutVersaoLote = 3 (quando o código de remessa citado no manual for igual a 3)
3.22 Banco Banrisul
Existe Layout atual 103 e anterior.
No Layout 103, CNAB 240 – Para sair 2 no Segmento P posição 62, informar a propriedade IdentDistribuicao=1 (0=tbBancoDistribui, 1= tbClienteDistribui)
Created with the Personal Edition of HelpNDoc: Produce electronic books easily