Integração com a Avalara
Quando você emite o pedido, o Demander consulta a Avalara e preenche o IPI, o ICMS e o ICMS ST de cada item.
A Avalara não é um produto da Demander. A contratação da conta e as credenciais ficam com a Avalara.
O módulo de tributação continua valendo para o cálculo feito pelo Demander. Com a Avalara configurada, os impostos do pedido vêm da consulta online, não da Configuração de Tributação.
O que volta no item
Seção intitulada “O que volta no item”Cada item do pedido recebe:
- valor unitário com impostos
- valor e alíquota de IPI
- valor e alíquota de ICMS ST
- valor e alíquota de ICMS
O valor unitário com impostos é o valor total do item, já com os impostos, dividido pela quantidade.
O que configurar
Seção intitulada “O que configurar”- Em Configurações da Empresa, aba Módulos Adicionais, marque Habilitar módulo de cálculo de impostos (IPI e ICMS ST).
- Em Configurações da empresa, aba Configurações adicionais, grupo Pedido, marque Habilitar calculo de Impostos Online. Essa opção aparece para parceiro e para a equipe Demander. O usuário da empresa não vê essa opção.
- A emissão do pedido precisa estar online. O cálculo chama a API na hora. Sem conexão, o pedido não recebe os impostos da Avalara.
- Cadastre uma configuração Avalara para a empresa, como na seção seguinte. É permitida somente uma configuração por empresa.
No cadastro do vendedor, aba Configuração, o campo Calcular impostos online define a exceção:
- Conforme configuração da empresa: segue o item 2.
- Sim: calcula online mesmo quando a empresa não marcou Habilitar calculo de Impostos Online.
- Não: não calcula online, mesmo quando a empresa marcou essa opção.
Onde configurar
Seção intitulada “Onde configurar”No Demander Web, abra Configurações Avalara.

| Campo na tela | O que preencher |
|---|---|
| Client Id | Identificador da conta Avalara. |
| Client secret | Segredo da conta Avalara. |
| Configuração json auxiliar | JSON da empresa, descrito abaixo. Obrigatório. |
| Tempo máximo para time out em segundos | Tempo máximo da consulta. O padrão é 10. Se a Avalara não responder nesse tempo, o cálculo falha. |
JSON da empresa
Seção intitulada “JSON da empresa”O campo Configuração json auxiliar guarda contas contábeis, setor de atividade e o tipo de operação da Avalara para cada tipo de pedido.
{ "assetAccount": "", "expenseAccount": "", "incomeAccount": "", "activitySector": { "type": "", "code": "" }, "operationType": { "padrao": "", "dePara": [ { "codTipoPedido": 1, "valor": "" } ] }}Os valores vêm do cadastro da empresa na Avalara. O Demander não tem uma lista pronta.
| Tag | Uso |
|---|---|
assetAccount |
Conta de ativo. Obrigatória. |
expenseAccount |
Conta de despesa. Obrigatória. |
incomeAccount |
Conta de receita. Obrigatória. |
activitySector.type e activitySector.code |
Setor de atividade do estabelecimento. Os dois são obrigatórios. |
operationType.dePara |
Liga o código do tipo de pedido no Demander (codTipoPedido) ao tipo de operação da Avalara (valor). |
operationType.padrao |
Tipo de operação usado quando o tipo de pedido do pedido não está no dePara. |
Se o tipo de pedido não está no dePara e o padrao está vazio, o cálculo para com a mensagem de tipo de operação não configurado para aquele tipo de pedido.
JSON do produto
Seção intitulada “JSON do produto”Cada produto do pedido precisa desses dados no cadastro. Eles entram pela integração, no layout da Tabela 15 – Produtos, campo 42 (jsonCamposAuxiliares). O JSON precisa ter useType e itemDescriptor. Sem um deles, o Demander não calcula o imposto daquele produto.
{ "useType": "", "itemDescriptor": { "issBehavior": "", "hsCode": "", "ex": "", "cest": "", "source": "", "productType": "", "isIcmsStSubstitute": false }}| Tag | Uso |
|---|---|
useType |
Tipo de uso do item na Avalara. |
issBehavior |
Comportamento do ISS. |
hsCode |
NCM. |
ex |
Exceção da TIPI. |
cest |
CEST. |
source |
Origem da mercadoria. |
productType |
Tipo do produto na Avalara. |
isIcmsStSubstitute |
Indica se o estabelecimento é substituto de ICMS ST. |
A tag precisa existir. O valor aceito é o que a Avalara espera para aquele produto.
No pedido
Seção intitulada “No pedido”Com essa configuração, o pedido mostra o botão Aplicar impostos. Enquanto consulta, a tela fica em Calculando impostos…
Ao salvar, o Demander consulta novamente. Se o valor unitário com impostos de algum item mudar, aparece o aviso Pedido atualizado: os impostos foram aplicados e o total do pedido mudou, de um valor para o outro. Só segue quem confirmar.
O pedido precisa ter pelo menos um item com quantidade maior que zero. O cliente do pedido precisa existir no Demander, com nome, endereço, CPF ou CNPJ, inscrição estadual e cidade.
O CNPJ enviado como estabelecimento é o da filial do pedido. Se a filial não tiver CNPJ, vai o CNPJ da empresa.
Pessoa física segue como individual. Pessoa jurídica segue como business. Cliente com tipo de cliente tributário preenchido segue como contribuinte de ICMS.
Se a empresa também usa Sankhya ou Focco
Seção intitulada “Se a empresa também usa Sankhya ou Focco”O cálculo online usa uma integração por vez, nesta ordem:
- Sankhya, quando a integração Sankhya da empresa está ativa.
- Avalara, quando existe a configuração Avalara e a Sankhya não está ativa.
- Focco, quando a integração Focco está ativa e as duas anteriores não se aplicam.
Com a Sankhya ativa, a configuração Avalara não entra no pedido.
Mensagens comuns
Seção intitulada “Mensagens comuns”| Mensagem | O que revisar |
|---|---|
| Configuração auxiliar não configurada para a empresa. | JSON auxiliar da configuração Avalara vazio ou inválido. |
assetAccount, expenseAccount, incomeAccount ou activitySector não configurada para a empresa. |
Tag ausente ou vazia no JSON da empresa. |
| Tipo de operação Avalara não configurado para o tipo de pedido. | Inclua o codTipoPedido no dePara ou preencha padrao. |
| Cliente não localizado para cálculo de impostos. | Cliente do pedido não encontrado na empresa. |
| Produto não localizado para cálculo de impostos. | Código do produto do item não existe na empresa. |
Produto com json auxiliar inválido, ou sem useType / itemDescriptor. |
Complete o JSON auxiliar do produto citado na mensagem. |
| Um ou mais campos obrigatórios não foram informados. | A Avalara recusou o envio por campo faltando. |
| Não foi possível identificar o CFOP. | A combinação enviada não gerou CFOP na Avalara. |
| Não foi possível obter o access_token. | Revise Client Id e Client secret. |