01. VISÃO GERAL
Configurações necessárias para o registro de boletos por API do Banco do Brasil.
Para testes em ambiente de homologação deve ser utilizados os dados fictícios para testes conforme documentação no Portal Developers BB.
Rede interna
Para a comunicação do Protheus com o banco é necessário configurar a segurança de rede, caso necessário, para aceitar a saída da faixa de IP referente ao DNS:
02. CREDENCIAIS
Para a configuração do layout será necessário obter junto ao Banco do Brasil as informações abaixo:
Application Key - Chave da aplicação: Chave de acesso do aplicativo
Client ID - ID do Cliente: Código de identificação do cliente
Client Secret - Chave Secreta do Cliente: Chave secreta de validação do cliente.
Desconsidere a chave BASIC caso seja recebida.
03. CADASTRO DE BANCO - MATA070
- Para habilitar a configuração de um layout para o Banco do Brasil deve ser informado no campo A6_BCOOFI ( Banco oficial ) o código 001.
Importante
É necessário o cadastro correto do dígito verificador da conta no campo Dv Conta (A6_DVCTA).
Caso o cadastro esteja incorreto na tabela de bancos (SA6), o ajuste deve ser realizado em sua subconta no Cadastro Parâmetros de bancos (tabela SEE) nos campos Age. Oficial (EE_AGEOFI), Cta. Oficial (EE_CTAOFI) e DV Cta.Ofic. (EE_DVCTOFI).
Exemplo de conta que precisa ser adequada : Conta 12345-6
No cadastro do banco, campo Nro Conta (A6_NUMCOM) = 123456 e DV Conta (A6_DVCTA) = vazio, o ajuste em sua sub conta deve ser Cta. Oficial (EE_CTAOFI) = 12345 e DV Cta.Ofic. (EE_DVCTOFI) = 6
Para impressão do boleto serão considerados os campos DV Cta.Ofic. (EE_DVCTOFI) e DV Age.Ofic. (EE_DVAGOFI), caso os mesmo estejam vazios serão considerados os campos DV Conta (EE_DVCTA) e DV Agencia (EE_DVAGE).
04. PARÂMETROS DE BANCO - FINA130
- Número de convênio deve ser informado no campo Cod. Empresa(EE_CODEMP).
- Campo será validado na inclusão do Borderô.
- Código da carteira deve ser informado no campo Cód. Carteira (EE_CODCART).
- Número da variação da carteira deve ser informado no campo Var. Carteira (EE_VARCART).
- Campo será validado na inclusão do Borderô.
- Nosso número deve ser parametrizado nos campos Faixa Inicio (EE_FAXINI) , Faixa Fim (EE_FAXFIM) e Faixa atual (EE_FAXATU).
- O campo (EE_FAXATU) será validado quanto ao seu tamanho, onde deverá conter no máximo 10 caracteres na inclusão do Borderô e também na transmissão do boleto. Havendo divergência será logado no NGF o motivo do erro.
- Número Dias Limite Recebimento deve ser informado no campo Dias Recebim (EE_DIASREC)
- Quando este campo possui um valor > 0, internamente o Indicador Aceite Titulo Vencido passa a ser enviado com 'S'
- Quantidade Dias Protesto deve ser informado no campo Dias Prot (EE_DIASPRT)
- Mensagem para instrução de cobrança deve ser informada no campo Mensagem 1 (EE_FORMEN1), vale ressaltar que o banco aceita no máximo 165 caracteres. Recomendamos o uso de letras minúsculas, pois na impressão do boleto existe um espaço pré-definido para exibição da mensagem.
- Recebimento on-line deverá ser informado para pelo menos um convênio quando o retorno(FINA715 ou Webhook) estiver configurado (EE_RETAUT). Caso não esteja habilitado, o retorno não irá ser processado para esse convênio.
05. CONFIGURAÇÃO DE LAYOUT
Para utilizar o registro online de boletos para o Banco do Brasil, deve-se observar a seguinte regra:
- Número do documento: Neste campo deverá ser informado qual será o número do documento que será transmitido ao banco e posteriormente impresso no boleto.
Onde poderá ser:
- Número do Título (E1_NUM)
- ID CNAB (E1_IDCNAB)
- Expressão definida pelo usuário.
- O resultado da expressão será atribuído ao campo “Número do documento”. Para as macros-execuções a expressão a ser executada deverá ser válida. Para informar uma expressão clique na “Engrenagem” que está ao lado do campo.
- Aceite: Este campo indica o reconhecimento formal da divida (assinatura no documento) pelo pagador, deverá ser informado os valores:
- Sim - Quando existe a necessidade do pagador reconhecer/aceitar a cobrança.
- Não - Quando não existe a necessidade de reconhecimento da cobrança.
- Beneficiário Filial: Neste campo deverá ser informado qual filial que será utilizada para a transmissão e impressão do boleto.
Os dados cadastrados nessa filial serão utilizados na transmissão e na impressão:
Atenção
Caso este campo não esteja preenchido a Filial Atual (Filial Logado ou Filial configurada no agendamento) será utilizada no dados da transmissão e impressão do boleto.
- Abatimento: Neste campo poderá ou não ser informado um valor de abatimento para o boleto.
Onde poderá ser:
- Vazio - Caso o valor original já esteja calculado com a dedução dos valores de abatimento ou não exista abatimento para o boleto.
- Valor Abatimento (SomaAbat()) - Calculo padrão do sistema conforme a expressão: "SomaAbat(SE1->E1_PREFIXO,SE1->E1_NUM,SE1->E1_PARCELA,"R",SE1->E1_MOEDA,dDataBase,SE1->E1_CLIENTE,SE1->E1_LOJA)" .
- Expressão definida pelo usuário.
- O resultado da expressão será atribuído ao campo “Abatimento”. Para as macros-execuções a expressão a ser executada deverá ser válida. Para informar uma expressão clique na “Engrenagem” que está ao lado do campo.
É possível informar o valor original já deduzindo o valor do abatimento. Basta clicar na engrenagem no campo "Valor Original" e informar uma expressão válida:
Exemplo:
- "SE1->E1_SALDO - SomaAbat(SE1->E1_PREFIXO,SE1->E1_NUM,SE1->E1_PARCELA,"R",SE1->E1_MOEDA,dDataBase,SE1->E1_CLIENTE,SE1->E1_LOJA)"
Importante
Caso o valor original já esteja calculado com a dedução dos valores de abatimento, o campo "Abatimento" não deve ser preenchido para que não ocorra uma duplicidade no valor de abatimento.
Caso o campo "Abatimento" seja preenchido o campo "Valor Original" deverá conter o valor cheio (Sem a dedução do abatimento). Caso exista abatimento será exibida uma mensagem no corpo do boleto informando o valor do abatimento já calculado.
Importante
Sempre que uma expressão for aplicada em um campo de VALOR, é essencial incluir uma proteção de arredondamento para garantir que o valor seja sempre retornado com duas casas decimais.
Exemplo: round(SE1->E1_SALDO * 0.10, 2)
- Boleto Híbrido (Boleto + PIX)
- Sim - O boleto será registrado com o PIX, na impressão irá aparecer o QR Code PIX para recebimento do valor.
- Não - O Boleto será registrado sem o PIX, na impressão não irá aparecer o QR Code PIX.
06. WEBHOOK - BAIXA TÍTULOS (RETORNO)
Importante
- Webhook para o Banco do Brasil disponível a partir da versão 12.1.2310 do Protheus ou Appserver igual ou superior a 20.3.1.4.
O REST deve estar habilitado com SSL utilizando um certificado A1 (Exemplo de configuração).
- A URL do seu REST ( https://seuendereco:suaporta/api/fin/v1/bb/bol/receivables/ ) deve ser cadastrada diretamente no Portal do BB.
Webhook é um serviço onde o banco envia informações de baixas de boletos para o ERP Protheus.
A comunicação entre o Protheus e o Banco do Brasil acontece via autenticação de certificados mTLS.
Para mais detalhes acesse a documentação que está disponível no Portal Developers BB.
É necessário um serviço REST habilitado no Protheus com SSL e disponibilizado para o Banco do Brasil ( verificar junto ao Banco do Brasil onde informar essa URL para envio de informações ao Protheus).
Informar a URL do serviço REST disponibilizada ao Banco do Brasil nas configurações de contas no campo Endereço (URL) de call-back do webhook:
https://seuendereco:suaporta/api/fin/v1/bb/bol/receivables/
seuendereco:suaporta → Informar endereço e porta do serviço REST configurado no arquivo appserver.ini.
/api/fin/v1/bb/bol/receivables/ → API disponível no serviço REST padrão do Protheus preparada para receber o payload de cobrança(boletos) do Banco do Brasil.
07. CONFIGURAÇÃO DE BOLETO
Permite que o usuário configure como será a impressão do boleto.
- Imprime abatimento
- Como mensagem - O valor do abatimento será impresso nas mensagens do boleto
- Nesse caso o campo "Valor Cobrado" não é preenchido e o valor do boleto fica destacado no campo "Valor do Documento"
- Campo desconto/abatimento - O valor do abatimento no titulo será impresso no (-) Desconto/Abatimento do boleto
- Nesse caso o campo "Valor Cobrado" será impresso com o resultado da soma dos campos positivos diminuindo os campos negativos
- Como mensagem - O valor do abatimento será impresso nas mensagens do boleto
Importante
- Não é possível utilizar as opções "Como mensagem" e "Campo desconto/abatimento" em conjunto.
- Após a transmissão do boleto as alterações realizadas no campo Imprime abatimento não serão aplicadas aos boletos já transmitidos. As alterações serão aplicadas somente aos boletos transmitidos após a alteração.