NW - Espec - Integração CPJ X SAP - 4.0
NW - Espec - Integração CPJ X SAP - 4.0
NW - Espec - Integração CPJ X SAP - 4.0
Integração CPJ
Levantamento de Escopo Técnico
Nelson Wilians
Data: 09/03/2021
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 1 de 32
Levantamento de escopo técnico
Sumário
1. Introdução ........................................................................................................ 3
1.1. O que é o CPJ .................................................................................... 3
2. Cenário previsto .............................................................................................. 3
3. Processo Técnico ............................................................................................ 4
Regra de validação cruzada ............................................................... 6
Processo de integração ...................................................................... 7
Processo de integração: compra e venda .......................................... 9
Processo de vendas ......................................................................... 10
Processo de compras ....................................................................... 11
Processo de integração de parceiro de negócios ............................ 12
Processo de integração de itens ...................................................... 13
4. Premissas para início de desenvolvimento – PENDENTE DE
LEVANTAMENTO COM EQUIPE TÉCNICA CPJ. AGUARDANDO
APROVAÇÃO – PREÂMBULO IRÁ CRIAR API PARA A INTEGRAÇÃO. ... 14
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 2 de 32
Levantamento de escopo técnico
1. Introdução
O CPJ é um ERP de controle processual, utilizado pela Nelson Willians, e que efetua a gestão dos
faturamentos e pagamentos em face desses processos, a nível de informação financeira (gestão
financeira é feita no SAP Business One). E diante da necessidade de se integrar as informações
com o SAP Business One, é necessário especificar e detalhar o processo para que os
PAGAMENTOS e RECEBIMENTOS sejam exportados para que a efetivação seja efetuada, pois o
CPJ não é um ERP fiscal/financeiro/contábil.
A integração será efetuada via API, e os seguintes documentos serão gerados no SAP, com as
informações inseridas pelos usuários no CPJ:
PEDIDO DE COMPRAS;
PEDIDO DE VENDAS.
O processo, após a inserção dos documentos, segue processo padrão do SAP Business One.
https://www.conjur.com.br/2015-jun-24/conheca-softwares-juridicos-usados-advogadosn
2. Cenário previsto
O processo de compras e vendas serão gerados com base nas informações enviadas pelo CPJ.
Os cadastros de parceiros de negócio e itens terão origem no SAP.
A baixa dos documentos de “Contas a Receber” e “Contas a pagar” serão efetuados via
integração bancária (Add-On Integration Bank, no Sap Business One) ou baixas manuais.
O integrador deverá ser preparado de forma que funcione sem problemas no Agendador de
tarefas do Windows.
O sistema funcionará no mínimo de 5 em 5 minutos.
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 3 de 32
Levantamento de escopo técnico
Para controle de status, será criada uma tabela de logs. A integração irá inserir as mensagens de
erro ou sucesso, assim como identificador único, ID de processo (vide tabela abaixo), status de
erro ou sucesso e data de integração. Para buscar novos dados no CPJ, essa tabela deverá ser
utilizada como filtro a partir do status de integração e identificador único.
ID de processo Processo
0 Enviar parceiro de negócios
1 Cobrança
2 Pagamento
3 Enviar itens
4 Dimensão / Centro de custo (Un. Negócios e Núcleo)
5 Dimensão Clientes
6 Contratos – Projeto Financeiro (SAP)
3. Processo Técnico
Vamos iniciar o detalhamento técnico da integração, inicialmente informando a origem das
informações:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 4 de 32
Levantamento de escopo técnico
Quando o pedido for inserido no CPJ (tanto pedido de compras como pedido de vendas) via
integração, será inserido no SAP. Após a inserção desses documentos, o processo será efetivado
manualmente pelo usuário com acesso ao SAP, até a baixa do financeiro (tanto CP quanto CR,
que pode ser feito manualmente ou via integração bancária).
Após o retorno bancário, com a confirmação do pagamento, será necessário informar ao CPJ a
confirmação da baixa e o comprovante (no caso de contas a pagar). Com isso, o usuário que
acessa o CPJ pode verificar quando foi efetuado o pagamento e ter acesso ao comprovante.
O SAP enviará o código da forma de pagamento utilizado para o CPJ após ocorrer a integração
do processo de compra e venda, caso o CPJ tenha campo para informar a FORMA DE
PAGAMENTO.
Ao efetuar o cadastro de um novo cliente, esse deverá ser feito no SAP, e via integração, e os
processos são gerados no CPJ.
Quando os pedidos forem inseridos no SAP, além das informações básicas, serão obrigatórias:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 5 de 32
Levantamento de escopo técnico
Essas informações são necessárias para as análises e relatórios, assim como base para apuração
das comissões.
Filial Fiscal;
Contrato (Projeto Financeiro SAP).
A filial será a filial fiscal do sistema SAP, onde serão filiais com CNPJ próprio da Nelson Willians.
As unidades de negócio são as filiais (onde eles legalmente estão constituídos) ou as unidades
de negócio em cidades que a empresa possui uma unidade, que por questões estratégicas, ainda
não possuem uma filial legal. Cada filial poderá ter N unidades de negócio.
Os núcleos são as áreas de negócio jurídico nas quais o escritório atua. Cada unidade de negócio
poderá ter N núcleos.
O cliente é o cliente atendido pela Nelson Willians. Exemplo são os clientes Banco do Brasil e
Riachuelo. Um núcleo poderá ter N clientes (a nível da dimensão Cliente, e não ao cadastro de
PN).
O contrato será o projeto financeiro do SAP, por onde é feito o controle de despesas x receitas.
Um único cliente poderá ter mais de um contrato.
Unidade de Negócio, Núcleo e Cliente são centros de custos das dimensões do SAP. Contrato
será Projeto no SAP.
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 6 de 32
Levantamento de escopo técnico
Processo de integração
Integração de cadastro cruzado: CPJ > SAP
Essa integração terá por objetivo realizar a busca das informações das dimensões de centros
de custos, necessárias também para a regra de validação cruzada:
Para isso, o SAP deverá disponibilizar API com as informações de FILIAL + UNIDADE DE
NEGÓCIO + NÚCLEO, contendo os campos:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 7 de 32
Levantamento de escopo técnico
Para isso, o CPJ deverá disponibilizar API com as informações da dimensão Cliente + Contrato
(Projeto Financeiro SAP), contendo os campos:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 8 de 32
Levantamento de escopo técnico
Para todos os novos casos, o campo de status deverá ser carregado com A, sendo
posteriormente atualizado pela integração.
A integração carregara os dados na tabela de projetos. Criar trava no SAP para que o cadastro
de projeto seja feito exclusivamente pela integração.
Campos necessários para a integração do contrato (Projetos SAP Business One) – Tabela OPRJ:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 9 de 32
Levantamento de escopo técnico
Processo de vendas
Para o processo de vendas, deverá ser disponibilizada a tabela com as seguintes informações:
Cabeçalho (1ª tabela), linhas (2ª tabela). Relação Cab-Lin -> 1 : N , Chave: Título CPJ.
Para cada linha do cabeçalho, poderemos ter N linhas de linha de documento. Iremos realizar a
junção das duas informações através da chave: Título CPJ.
A integração gerará um pedido de venda que aguardará aprovação. Após o pedido ter sido
aprovado (SAP), o usuário, de forma manual, irá gerar a nota fiscal de saída (gera de forma
automática o CR). Após a geração da nota, será efetuado o envio para validação junto a
prefeitura (que pode ser automático ou manual, dependendo de cada prefeitura). Após a
validação da nota na prefeitura (onde é gerado o número da NFS-e) via integração, será
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 10 de 32
Levantamento de escopo técnico
disponibilizado o número da nota para o CPJ. Via integração os dados dos documentos gerados
serão disponibilizados para o CPJ (nota e financeiro).
Evento – Cancelamento: Ao cancelar um documento no CPJ, deverá ser criado um evento que
enviará, via integração, um aviso no SAP que o documento deve ser cancelado. Caso o pedido
ainda esteja com status “Aberto”, via integração ele será cancelado. Caso o pedido já tenha
sido convertido em Nota Fiscal, será enviado um aviso (alerta) para usuários (grupo
FATURAMENTO e FINANCEIRO FILIAIS), solicitando o cancelamento da nota fiscal e do pedido.
Após o cancelamento ser efetivado, a informação do cancelamento será enviada ao CPJ, via
API, finalizando o processo.
Processo de compras
Diferente do processo de vendas, o pedido de compra nascerá aprovado do CPJ, portanto a
integração gerará a nota fiscal (modelo NADA) de entrada (contas a pagar gerado
automaticamente pelo SAP) e caso seja uma nota reembolsável, gerará um contas a receber
(regras de acordo com o item da nota fiscal de entrada: Reembolsável ou Adiantável) de acordo
com o valor de reembolso. Ao gerar a nota fiscal de entrada, o número da nota deverá ser
retornado ao CPJ (via integração).
Para o processo de vendas, deverá ser disponibilizada a tabela com as seguintes informações:
ATUALIZAR TABELA PARA NOTA FISCAL DE ENTRADA / NOTA FISCAL DE SAÍDA
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 11 de 32
Levantamento de escopo técnico
Caso o cód. de barras seja inserido de forma incorreta, o pagamento não será efetuado e
somente no retorno bancário será possível identificar.
ENVIO DO BOLETO – O usuário no CPJ irá anexar o boleto e inserir manualmente a linha digitável
em um campo de observação. Via integração, o .PDF do boleto será enviado no documento, para
o SAP e a linha digitável será inserida no Tabela.Campo do ADd-On de integração bancária.
Evento – Cancelamento: Ao cancelar um documento no CPJ, deverá ser criado um evento que
enviará, via integração, um aviso no SAP que o documento deve ser cancelado. Caso nota
gerada ainda esteja com status “Aberto”, via integração ele será cancelado. Caso a nota já
tenha sido paga (baixa no financeiro), será enviado aviso ao usuário (CPJ) que o documento já
foi pago. Considerar no processo a emissão de nota de reembolso (seguir o mesmo fluxo).
Parceiro de negócio
PARA - CPJ DE – SAP Tipo Observação
cpf_cnpj CRD7.TaxId0 varchar(20) CNPJ do cliente. Campo chave obrigatório
cpf_cnpj CRD7.TaxId4 varchar(20) CPF do cliente. Campo chave obrigatório
nome OCRD.CardName varchar(60) razão social do cliente, campo obrigatório
fisica_juridica U_TipoPN smallint 1 para pessoa física e 2 para pessoa jurídica
telefones OCRD.Phone1 varchar(30) relação de números de telefone do cliente
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 12 de 32
Levantamento de escopo técnico
Itens
CAMPO SAP DESCRIÇÃO CAMPO CPJ
OITM.ItemCode Código do item
OITM.ItemName Nome do item
OITM.FrgnName Nome estrangeiro
OITM.ItemType Tipo do item
OITM.ItemGrpCod Grupo do item
OITM.UgrEntry
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 13 de 32
Levantamento de escopo técnico
I. Será criada uma tabela de log, para registro de todos os eventos integrados (CPJ > SAP
e SAP > CPJ). Com isso, teremos um painel que registra os eventos, onde serão
informados:
a. ID do documento;
b. Tipo do documento;
c. Data/hora da integração;
d. Status – Integrado ou ocorreu erro;
Caso ocorra o erro, será necessário reprocessar. E para isso, pode-se aguardar
novo envio ou disponibilizar botão para reprocessar. E também um filtro de
data para exibição, facilitando identificar a data/hora onde o erro ocorreu.
II. CPJ deverá disponibilizar a forma como a integração será feita.
R: API. SERÁ NECESSÁRIO DEFINIR AGENDA PARA DEFINIÇÃO E ACESSO A API. CPJ-3C
está instalado na infraestrutura de nuvem AWS, a NW dever disponibilizar um
endpoint com um gateware/proxy via https.
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 14 de 32
Levantamento de escopo técnico
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Login
JSON:
"CompanyDB": "SBO_NW_TST",
"UserName": "INTEGRA_LEGADO",
"Password": "@1234@"
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 15 de 32
Levantamento de escopo técnico
Exemplo:
2 – Centro de Custo
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/ProfitCenters
JSON:
Exemplo:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 16 de 32
Levantamento de escopo técnico
3 – Parceiro de Negócios: O fluxo de cadastro de PN será B1->CPJ (o SAP consumirá API a ser
disponibilizada pelo CPJ).
4 – Pedido de Venda
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Orders
JSON:
"CardCode": "C00120",
"U_NumCPJ": "",
"DocDate": "2021-07-06",
"DocDueDate": "2021-07-06",
"PaymentMethod": "",//PeyMethod
"ClosingRemarks": null,//Footer
"BPL_IDAssignedToInvoice": 1,//BPLId
"U_BplId": "",
"U_Status": "",
"Comments": "",
"U_LinhaDigitavel": "000000000000000000000000000000000",
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 17 de 32
Levantamento de escopo técnico
"DocumentLines": [ //linhas
"U_NumCPJ": "",
"ItemCode": "SERVP001",
"Quantity": 3.0,
"Price": 1255.0,
"LineTotal": 3765.0,
"Usage": 3,
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 18 de 32
Levantamento de escopo técnico
Exemplo:
O DocEntry retornado (476 no caso do exemplo) é o código único do pedido gerado no SAP.
Da mesma forma como no caso dos clientes, ele pode ser consultado pelo mesmo endpoint
como GET
5 - Pedido de Compra
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/PurchaseOrders
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 19 de 32
Levantamento de escopo técnico
JSON:
"CardCode": "F02704396000183",
"U_NumCPJ": "",
"DocDate": "2021-07-06",
"DocDueDate": "2021-07-06",
"PaymentMethod": "",//PeyMethod
"ClosingRemarks": null,//Footer
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 20 de 32
Levantamento de escopo técnico
"BPL_IDAssignedToInvoice": 1,//BPLId
"U_BplId": "",
"U_Status": "",
"U_LinhaDigitavel": "000000000000000000000000000000000",
"DocumentLines": [ //linhas
"U_NumCPJ": "",
"ItemCode": "RH0007",
"Quantity": 1.0,
"Price": 50.0,
"LineTotal": 50.0,
Exemplo:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 21 de 32
Levantamento de escopo técnico
Gerado 7764
Pode ser consultado em:
6 – Itens
EndPoint:
https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Items?$select=ItemCode,ItemN
ame,ForeignName,ItemType,ItemsGroupCode,UoMGroupEntry,ItemPrices
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 22 de 32
Levantamento de escopo técnico
Exemplo:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 23 de 32
Levantamento de escopo técnico
Por serem muitos itens, a API gera paginação e o link para a próxima página vem no final do
retorno
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 24 de 32
Levantamento de escopo técnico
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Projects
JSON:
{
"Code": "NW-003",
"Name": "TESTE",
"ValidFrom": "2021-05-01",
"ValidTo": "2022-05-01",
"Active": "tYES",
"U_IdExt": null
}
Exemplo:
8 - Alertas
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Messages
JSON:
"MessageDataColumns": [
"ColumnName": "Document",
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 25 de 32
Levantamento de escopo técnico
"Link": "tYES",
"MessageDataLines": [
"Object": "17",
"ObjectKey": "476",
],
"RecipientCollection": [
"SendInternal": "tYES",
"UserCode": "INTEGRA_LEGADO"
],
Exemplo:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 26 de 32
Levantamento de escopo técnico
9 – Anexos.
Para vincular arquivos anexos aos registros do B1, é necessário primeiro enviar o arquivo e o
EndPoint vai retornar um ID de anexo criado.
Exemplo:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 27 de 32
Levantamento de escopo técnico
Informar este valor na tag AttachmentEntry , do JSON dos EndPoint de Pedidos, os quais
precisem anexar arquivos.
EndPoint:
https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/REGRASCENTROCUSTO
JSON:
"U_Filial": 128,
"U_Dimensao_UN": "038",
"U_Dimensao_NC": "ADM00015",
"U_Cliente": "C-001",
"U_Projeto": "NW-001",
"U_Ativo": "Y"
Exemplo:
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 28 de 32
Levantamento de escopo técnico
Gerado DocEntry 25 no exemplo, que também pode ser consultado via GET.
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 29 de 32
Levantamento de escopo técnico
11 – Cancelamento.
Para cancelar pedidos é necessário primeiro chamar o EndPoint de Consulta informando com
parâmetro o NumeroCPJ daquele pedido.
https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Orders?$select=DocEntry,Docu
mentStatus&$filter=U_NumCPJ eq 'XXXX'
Apenas pedidos com DocumentStatus = bost_Open, podem ser cancelados. Status diferentes
deste, não são possíveis de cancelar via API e devem ser tratados manualmente no SAP.
Exemplo:
Com este numero interno deve ser acionado o end point com parâmetro Cancel
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/Orders(XXX)/Cancel
Para Pedidos de Compra a dinâmica e layout de retorno são iguais, mudando o EndPoint.
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 30 de 32
Levantamento de escopo técnico
EndPoint: https://SRVNELSONWNLB01.B1CLOUD.COM.BR:52484/b1s/v1/PurchaseOrders
{
"numTitulo": 1234,
“situacao”: 1
“erro”: “”
“dataPagamento”: "2021-07-06",
“valorPago”: 1230.5,
“comprovante”, “XXXXXX”
{
"numTitulo": 1234,
“situacao”: 1
“erro”: “”
“num_NF”
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 31 de 32
Levantamento de escopo técnico
“dataEmissaoNF”: "2021-07-01",
“dataRecebimento”: "2021-07-06",
“valorRecebido”: 1230.5
3 – Solicitação de cancelamento: Está faltando API no SAP para o CPJ solicitar o cancelamento
de pagamento/ recebimento através do número do título (campo SAP U_NumCPJ)
{
"numTitulo": 1234,
“motivo”: “o cliente glosou o pagamento”
}
Grupo SEIDOR – SAP Channel Partner – SAP Business One – www.seidor.com Página 32 de 32