ERP SAP Business One
O SAP Business One, também conhecido como B1, é um sistema de planejamento de recursos empresariais (ERP) desenvolvido pela SAP, uma das principais empresas de software corporativo do mundo. Ele foi projetado especificamente para pequenas e médias empresas (PMEs) e subsidiárias de grandes empresas. O SAP Business One oferece recursos abrangentes de gestão empresarial para ajudar a integrar e automatizar processos de negócios em diversas áreas funcionais.
Atenção: O Vendelo trabalha apenas com a versão 10.00.180 FP 2111 ou superior do B1.
B1iF
O B1iF (Business One Integration Framework) é uma ferramenta de integração fornecida pelo SAP para o SAP Business One. Ele permite a integração entre o SAP Business One e outros sistemas, sejam eles internos ou externos, por meio de processos automatizados e troca de dados.
Veja alguns benefícios do B1iF:
- Integração de dados: Permite a troca de dados em tempo real ou em intervalos agendados entre o SAP Business One e outros sistemas.
- Automação de processos: Automatiza fluxos de trabalho e tarefas, eliminando a necessidade de intervenção manual e reduzindo erros.
- Sincronização de dados: Garante a consistência e a atualização dos dados entre diferentes sistemas, mantendo-os alinhados.
- Personalização e mapeamento de dados: Permite a personalização de mapeamentos de dados para atender às necessidades específicas de integração.
- Monitoramento e relatórios: Oferece recursos de monitoramento em tempo real e relatórios para acompanhar o status das integrações e identificar problemas.
- Expansibilidade: O B1iF suporta a integração com várias versões do SAP Business One e pode ser estendido para atender a requisitos específicos de negócios.
Service Layer
O Vendelo utiliza adaptadores específicos do B1iF que manipulam a API de integração oficial do B1 chamada de Service Layer.
A Service Layer é a interface de programação de aplicativos que permite o acesso e a integração com os dados e funcionalidades do SAP Business One. Ela fornece um conjunto de serviços web que permite que aplicativos externos se comuniquem e interajam com o B1 de forma segura e eficiente.
Porque não utilizar apenas a Service Layer?
A integração oferecida pelo Vendelo permite a troca de dados em dois sentidos, ou seja, do Vendelo para o B1 e do B1 para o Vendelo. Exemplo, quando uma lista de preços é atualizado no B1, os novos valores serão informados automaticamente para o Vendelo, sem a necessidade de intervenções manuais.
Atenção: Aplicativos concorrentes que indicam integração plug and play, utilizam apenas um sentido de integração, aplicativo => B1, dados alterados no B1 não refletem na aplicação sem intervenção manual, ou são sincronizados periodicamente, podendo deixar seus usuários com dados desatualizados.
Este processo de integração do B1 para o Vendelo depende da monitoração de eventos de modificação de dados que ocorrem diretamente no B1, este monitoramento é oferecido pelo serviço “Event sender” acoplado ao B1iF.
Veja se este serviço está ativo através da guia “Maintenance”, item “B1 Event Filter”.

Verifique através da lista de serviços do servidor se o serviço Event Sender está ativo e em execução.

Como integrar o Vendelo ao B1
A Vendelo Tech mantém e suporta sua própria integração com o B1, evitando a necessidade da contração de empresas terceirizadas para programar a integração.
Se sua empresa utiliza uma versão do B1 que suporta o B1iF em conjunto com a API Service Layer, será possível integrar o Vendelo ao B1 seguindo os passos abaixo.
Teste de ambiente B1iF
- Primeiro, veja se o serviços do B1iF e a Service Layer foram instalados em seu ambiente B1 server. Caso não tenha sido, contate seu parceiro SAP para realizar a instalação.

- Em seguida, acesse o B1iF através de seu navegador favorito digitando:
https://{SeuServidorB1Server}:8080/B1iXcellerator/index.htm.

- Normalmente o usuário padrão do B1iF é o “B1iadmin“, forneça a senha para acessar o ambiente.

- Ao acessar o ambiente, navegue até a guia SLD e selecione o banco de dados que deseja integrar ao Vendelo.
- Verifique se o B1iF foi configurado corretamente para o banco de dados SAP clicando nos botões “Test Connection” das ferramentas B1DI, B1SL e JDBC.
Quase 100% das interações que o Vendelo faz com B1 são feitas através da ferramenta B1SL (Service Layer), mas alguns recursos ainda não foram disponibilizados pela SAP na B1SL obrigando o Vendelo utilizar também a ferramenta B1DI (Data Interface) para realizar algumas atualizações no B1.
O Vendelo irá utilizar a ferramenta JDBC para realizar algumas consultas customizadas na base de dados do B1, só realizaremos atualizações via JDBC em uma única tabela de usuário criada pelo Vendelo e nomeada de “@VDO_KEYS“, respeitando as normas da SAP de atualizar tabelas do sistema somente através de suas ferramentas oficiais (B1SL e B1DI).

Configurando a filial padrão Vendelo
Após testar o ambiente B1iF, precisamos configurar uma conta de integração do Vendelo para a filial padrão, não sendo necessário configurar para as demais caso sua empresa trabalhe com múltiplas filiais.
- Acesse o Vendelo e abra a filial padrão através do menu filiais.

- Navegue até a guia “Contas de integração” e clique em adicionar.

- Para o campo tipo, selecione “B1 Integration Framework”.
- No campo servidor, informe o endereço público do B1iF, caso não saiba, fale com seu parceiro SAP.
- No campo porta, informe a porta de comunicação do B1iF. Exemplo:
Endereço completo: https://b1if-da-sua-empresa:8080/B1iXcellerator
Servidor: https://b1if-da-sua-empresa
Porta: 8080 - Os campos usuário, senha, canal e token serão preenchidos automaticamente pelo Vendelo.
- O campo B1IF instalation ID (identificador de instalação do B1IF), deverá ser preenchido observando o campo ID da sessão “General information” do banco de dados do B1 exibido na guia SLD do B1iF. Exemplo:

- Ao preencher o campo “Identificador de instalação do B1IF”, o campo “B1IF deployment name” será preenchido automaticamente pelo Vendelo.
- Clique em “confirmar e fechar” e navegue até a guia “Documentos de identificação”.
Se for a primeira modificação para a filial, será necessário informar o CNPJ antes de salvar as alterações. - Por fim, avance até que o Vendelo permita salvar as alterações para a filial padrão.

- Após salvar as alterações para filial padrão, navegue novamente até a guia “Contas de integração”, reabra a conta de integração B1iF e clique em “Baixar cenários do B1”.
Se você estiver nas versões Windows, Android ou iOS do Vendelo, o pacote de integração será salvo em “documentos/vendelo/files/vdo.10000111.zip”.
Caso esteja na versão WEB, o pacote de integração será salvo na pasta padrão de downloads.

Importando o pacote de integração no B1iF
- Após configurar a conta de integração e baixar o pacote de integração Vendelo, reabra o B1iF e navegue até a guia “Scenarios”.
- Clique com o botão direito do mouse no item “Packages” e em seguida, clique no item “Import Package”.

- Clique no botão “Escolher arquivo” e selecione o pacote de integração Vendelo.
- Por fim, clique no botão “Submit”.

- Após submeter o pacote de integração Vendelo ao B1iF, o status de todos os cenários de integração deverão ser exibidos como atualizados (update).

Ativando o pacote de integração
- Após importar o pacote de integração Vendelo no B1iF, clique novamente com o botão direito do mouse em “Packages”, e clique em “Open Package”.
- Selecione o pacote e clique em “Open”.

- Após abrir o pacote de integração, de um duplo clique sobre o item “Deployment Panel”.
- Em seguida, clique no ícone de adição para adicionar um novo “deployment”.
- Informe o nome do deployment e pressione a tecla tab para carregar os cenários.
Atenção: O nome do deployment deverá ser exatamente igual ao fornecido pela tela da conta de integração Vendelo. Neste exemplo, utilizamos o nome VDO0111.
Novo Deployment B1iF.

Nome do deployment extraído da conta de integração Vendelo.

- Após preencher o nome do deployment, clique no ícone engrenagem para configurar algumas propriedades.


- As propriedades “vendelo.me2Erp.gql.1.userName“, “vendelo.me2Erp.gql.0.address” e “vendelo.me2Erp.gql.3.companyId” serão preenchidas automaticamente e não devem ser editadas.
- Por segurança, as propriedades “vendelo.me2Erp.gql.2.password” e “vendelo.erp2Me.api.0.token” não são importadas junto ao pacote de integração e devem ser copiadas da conta de integração Vendelo.

- A propriedade “vendelo.me2Erp.gql.7.queryToGetWarehouse” permite definir uma consulta SQL para ensinar ao Vendelo como selecionar o depósito para cada item nas cotações e pedidos. Caso não seja preenchida, o SAP B1 irá escolher o depósito automaticamente, de acordo com suas regras internas.
Os seguintes filtros podem ser utilizados na consulta: {0} = ObjType, {1} = BPLId, {2} = CardCode, {3} = ShipToCode, {4} = ItemCode, {5} = ItemQuantity. Esses filtros auxiliam na customização da escolha do depósito.
Exemplo de query:SELECT CASE WHEN {1} = 1 THEN 'DEP001' WHEN {1} = 2 THEN 'DEP002' WHEN {1} = 3 THEN 'DEP003' WHEN {1} = 4 THEN 'DEP004' ELSE NULL END as "WhsCode" FROM dummy;
- A propriedade “vendelo.me2Erp.gql.8.queryToGetItemBarCode” permite definir uma consulta SQL para ensinar ao Vendelo como selecionar o código de barras para cada item nas cotações e pedidos. Caso não seja preenchida, o SAP B1 irá escolher o código de barras padrão automaticamente, de acordo com suas regras internas.
Exemplo de query:SELECT "U_TX_CodEANTrib" FROM OITM WHERE "ItemCode" = '{0}';
- A propriedade “vendelo.erp2Me.api.1.queryToGetInvoiceKey” permite indicar uma consulta “SQL” para informar ao Vendelo quando um pedido for faturado e sua NF-e for emitida.
Como existem muitos fornecedores de software para emissão de documentos fiscais no B1, esta consulta permite adaptar a integração para cada um deles.
A integração irá verificar modificações nos documentos do tipo “13 (nota fiscal de saída)” através do gerenciador de eventos do B1 “Event Sender”. Exemplo:
SELECT “U_nfe_ChaveAcesso” FROM “O{0}” WHERE “DocEntry”={1} AND “ObjType”={2}.
– Onde o valor {0} será preenchido pelo pacote de integração com o nome da tabela de nota fiscal do B1 (INV).
– O valor {1} com a chave do documento B1 (DocEntry).
– O valor {2} com o tipo de documento (ObjType).
Ao configurar corretamente este parâmetro para preenchimento da chave NF-e via integração, a experiência do usuário Vendelo é aprimorada, pois o status do pedido Vendelo será automaticamente atualizado para “Nota fiscal emitida” e um link de integração com a SEFAZ será fornecido ao usuário permitindo sua consulta nos canais oficiais. - A propriedade “vendelo.erp2Me.api.5.addInvoicesForPaidOrders“, se preenchida com o valor “Y”, indicará para a integração que os pedidos que forem pagos através de gateways de pagamento com checkout on-line, exemplo Mercado Pago (saiba mais), devem ser transformados em nota fiscais B1 automaticamente. Veja a ilustração abaixo do mapa de relações após integração:

- A propriedade “vendelo.erp2Me.api.2.downPayAccount“, permite indicar uma conta contábil de contra partida para contabilizar no B1 os valores pagos dos documentos do tipo “fatura de adiantamentos de cliente” vinculados a pedidos “Vendelo” pagos via checkout on-line.
Atenção: Se esta conta não for informada, os adiantamentos não serão inseridos pela integração.

- As propriedades “vendelo.erp2Me.api.3.payRateCreditAccount” e “vendelo.erp2Me.api.4.payRateDebitAccount” podem ser preenchidas com contas contábeis de crédito e débito quando for necessário contabilizar a taxa cobrada pelo gateway de pagamento em pedidos pagos via checkout on-line, exemplo a taxa de serviço do Mercado Pago (saiba mais).

- Após preencher as propriedades, clique no botão “close”.
- Em seguida, selecione todos os cenários de integração, um item ficará em vermelho indicando erros. Clique no botão “System” da linha em vermelho e em seguida, selecione o banco de dados B1 que está recebendo a integração. Atenção, cuidado para não selecionar um base de dados errada.
- Clique no botão “close” e a linha em vermelho deverá ficar verde, indicando a correção.

- Por fim, para ativar a integração, clique no ícone que representa uma cama e aguarde.

- Se a integração for inicializada corretamente, o ícone de cama será substituído por um ícone de corrida.

Testando a integração
Após realizar a configuração do B1iF, reabra a conta de integração no Vendelo e clique no botão testar.
Se a integração estiver ativa com suas propriedades configuradas corretamente no B1if, você receberá uma mensagem de confirmação conforme ilustração abaixo.

Itens da fila de integração
Através do menu “Itens da fila de integração” será possível monitorar toda a troca de informações entre o Vendelo e o ERP SAP Business One. Disponibilizamos três consultas, como favoritas, para facilitar esta monitoração:
- Pendentes: Caso encontre algum item na fila com status pendente por muito tempo, pode indicar que o serviço do B1iF esteja off-line.
- Com erro: Apesar de não recomendado, será possível corrigir pequenos erros de integração realocando itens com status de erro. Para isso, volte o status para pendente e o Vendelo irá reprocessar o item, mas sempre consulte um técnico Vendelo antes de realizar este procedimento.
- Sincronizados: Indica que o item adicionado, modificado ou removido no Vendelo foi sincronizado com sucesso no B1 e vice-versa.

Dados iniciais
Ao finalizar as configurações de integração, um item será adicionado na fila de integração chamado de “InitData”. O Vendelo estará liberado para uso quando os dados iniciais de integração do B1 forem carregados no Vendelo. O tempo para finalização desta carga de dados inicial irá depender da quantidades de clientes e itens (produtos ou serviços) da sua base de dados B1.


Integração em tempo real
Os documentos de negócio (cotações, pedidos, devoluções e solicitações de compra) serão sincronizados em tempo real pelo Vendelo, ou seja, no momento da inclusão da informação no Vendelo o B1 será avisado imediatamente. Este processo garante o cálculo do valor total dos documentos, impostos e de despesas adicionais, valores que são necessários para pagamentos via checkout on-line, exemplo via o Mercado Pago (saiba mais).
As validações customizadas através da store procedure SBO_Transaction_Notification do B1 também serão respeitadas pelo Vendelo e informadas em tempo real para os usuários.
Continue vendendo através do Vendelo mesmo se o B1 estiver off-line
Caso o servidor de integração que hospeda o B1iF ou até mesmo o próprio B1 estiver off-line, o Vendelo reconhecerá o problema e irá se comportar da seguinte maneira:
- Para documentos que utilizam condições de pagamento off-line, exemplo boletos, o documento será colocado em fila de integração e quando o serviço de integração voltar a ficar on-line, o Vendelo irá sincronizar os documentos pendentes automaticamente, não sendo necessário nenhuma futura interação do usuário.
- Para documentos que utilizam condições de pagamento on-line, exemplo Mercado Pago, o documento será salvo como esboço permitindo ao usuário realizar o pagamento posteriormente sem perder os dados informados.
Moedas
O Vendelo irá utilizar o Real como moeda padrão na integração com o B1.
Para empresas que utilizam moedas estrangeiras, será necessário indicar no cadastro de parceiro de negócio a opção “Todas as moedas”.

Mapas de relações
Veja alguns exemplos de integração por tipo de documento.
Cotações
As cotações serão integradas com status “Aberto” permitindo modificações via Vendelo, uma vez que a cotação seja copiada para um pedido de venda, seu status será modificado para “Fechado” e sua edição será bloqueada no Vendelo.
A integração irá respeitar a data de validade definida nas configurações de documentos do B1.
Cotações copiadas para pedidos serão vinculadas tanto no Vendelo, quanto no B1.

Pedidos
Pedidos de venda baseados em condições de pagamento sem checkout on-line serão integrados com status “Sem autorização”, permitindo ao usuário (vendedor ou cliente B2C ou B2B) fazer modificações via Vendelo até que o mesmo seja autorizado no B1 através da aba logística.
Este processo foi pensado para empresas que trabalham centralizando a conferência de pedidos recebidos em setores administrativos de venda. Uma vez conferido e autorizado, sua edição é bloqueada.

Pedidos com pagamento on-line
Pedidos de venda baseados em condições de pagamento com checkout on-line serão integrados somente após a confirmação de pagamento, enquanto o pagamento estiver em aberto sua edição será permitida via Vendelo, após o pagamento e integração, sua edição será bloqueada..
Exemplo – pedido direto.

Exemplo – pedido baseado em cotação.

Cancelamento de pedidos
O cancelamento será permitido via Vendelo respeitando os prazos definidos nas configurações do B1.

Pedidos de devolução
Pedidos de devolução, baseados ou não em condições de pagamento com checkout on-line, serão integrados com status “Sem autorização”, permitindo ao usuário (vendedor ou cliente B2C ou B2B) fazer modificações via Vendelo até que o mesmo seja autorizado no B1 através da aba logística.
Este processo foi pensado para empresas que trabalham centralizando a conferência de pedidos recebidos em setores administrativos de venda. Uma vez conferido e autorizado, sua edição é bloqueada.
Uma vez autorizado e copiado para Nota Fiscal de Entrada, o status do pedido de devolução mudará para fechado bloqueando sua edição via B1 e Vendelo.
Exemplo – Autorização de pedido de devolução.

Exemplo – Pedido de devolução não vinculado a Nota Fiscal de Saída.
Acontece quando a Nota Fiscal de Saída (vincula a um Pedido de Venda) já tenha sido faturada e seu status atualizado para fechado, não permitindo mais vínculos entre os documentos.

Exemplo – Pedido de devolução vinculado a Nota Fiscal de Saída.
Acontece quando a Nota Fiscal de Saída (vincula a um Pedido de Venda) ainda não foi faturada e seu status permanece aberto, permitindo o vínculo entre os documentos.

Solicitações de compra
As solicitações de compra serão integradas com status “Aberto”, permitindo modificações via Vendelo, uma vez que a solicitação seja copiada para um pedido de compra no B1, seu status será modificado para “Fechado” e sua edição será bloqueada no Vendelo.

Tabela de itens integrados
Veja a lista de itens integrados ao B1 pelo Vendelo.
Se existir algum item na lista que sua empresa deseja impedir a integração Vendelo para B1, veja como bloquear através dos perfis de usuário (saiba mais).
Modelo de dados | Vendelo para B1 | B1 para Vendelo |
Filias | Sim (somente filial padrão) | Sim |
Países, Estados, Municípios e Territórios | Não (por motivos de segurança) | Sim |
Cotações de venda | Sim | Sim (se origem do documento for o Vendelo) |
Pedidos de Venda | Sim | Sim (se origem do documento for o Vendelo) |
Fatura de adiantamentos de clientes | Sim (se houver um pedido de venda vinculado e pago via checkout on-line) | Sim (se origem do documento for o Vendelo e houver um pedido de venda vinculado e pago via checkout on-line) |
Nota fiscal de saída | Sim (se houver um pedido de venda vinculado e pago via checkout on-line) | Sim (se origem do documento for o Vendelo e houver um pedido de venda vinculado e pago via checkout on-line) |
Entrega | Sim (se houver um pedido de venda vinculado e pago via checkout on-line) | Sim (se origem do documento for o Vendelo e houver um pedido de venda vinculado e pago via checkout on-line) |
Pedidos de devolução | Sim | Sim (se origem do documento for o Vendelo) |
Solicitações de compra | Sim | Sim (se origem do documento for o Vendelo) |
Despesas adicionais (Fretes e outros) | Sim | Sim |
Parceiros de negócio (Clientes, Leads e Fornecedores) | Sim | Sim |
Grupos de parceiros de negócio | Sim | Sim |
Tipos de relacionamento de parceiros de negócio | Sim | Sim |
Condições de pagamento | Sim | Sim |
Utilizações (finalidades Vendelo) | Sim | Sim |
Unidades de medida | Sim | Sim |
Itens (Produtos ou Serviços) | Sim | Sim |
Grupos de itens/Departamentos | Sim | Sim |
Listas de preço | Não (por motivos de segurança) | Sim |
Fazer download de anexos do Vendelo através do B1
Os anexos do Vendelo não são sincronizados automaticamente com o B1 na inclusão de cotações e pedidos de venda via Vendelo. Entendemos que esse processo deixaria a integração lenta e poluiria o ERP SAP B1 com duplicidades.
Para resolver essa situação, criamos um mini-addon para abrir os anexos do Vendelo diretamente no B1.
Primeiro, abra a tabela de usuário VDO_KEYS e inclua uma nova linha:
- Em Código (Code), digite o valor fixo
VDO-ENDPOINT
. - Em Nome (Name), informe o endereço da API do Vendelo no formato:
https://ip-api-vendelo:porta
ouhttp://ip-api-vendelo:porta
. Caso não saiba, entre em contato com nosso suporte.

Atenção: Apenas inclua a nova linha com o endereço da API do Vendelo. Não edite nenhuma outra informação da tabela de usuário VDO_KEYS, pois isso pode gerar o mau funcionamento do Vendelo e sua integração com o B1.
Em seguida, baixe o add-on Vendelo Extensões, clicando aqui. Lembrando que esse add-on está disponível apenas para as versões 10 ou superior do SAP B1 x64.
Instale o add-on, o que geralmente demora alguns segundos.

Em seguida, inicialize o add-on e verifique se botão “↓↓↓ (Vendelo)” está visível nas telas de cotações e pedidos de venda, na guia “Anexo”.
Ao clicar no botão “↓↓↓ (Vendelo)”, o add-on fará o download automático dos anexos gerados no Vendelo e os salvará diretamente no documento do SAP.
