Guia da plataforma ArtmetaConheça a plataforma Artmeta

Tudo o que você pode conhecer, administrar, integrar e evoluir em um só lugar.

33 notas

Procure por módulo, API, rota, fluxo operacional ou termo do projeto.

Fulfillment fiscal e expedição

Este plano transforma um pedido pago em uma entrega conferida, faturada e rastreável. Ele é uma prioridade operacional: sem essa trilha, a loja pode vender e reservar estoque, mas não tem controle suficiente sobre separação, substituição, documento fiscal e entrega.

Recorte da seçãoGuia orientado por operação

Siga a sequência da tarefa, entenda os pontos de validação e volte a esta página sempre que precisar repetir a operação.

Atualizado31 de ago. de 2026
Seções23
Tags5
operacaofulfillmentexpedicaofiscallogistica
Nesta página · 23 tópicos

Resultado esperado

  1. A logística acessa uma fila exclusiva de pedidos com pagamento conciliado.
  2. O operador separa, confere e registra indisponibilidades por item, sem alterar o histórico financeiro de forma livre.
  3. A expedição gera uma etiqueta de transporte imprimível e um romaneio de separação.
  4. O faturamento envia uma solicitação completa a um emissor fiscal, guarda chave, XML, DANFE/representação e eventos de retorno.
  5. A transportadora atualiza coleta, trânsito, entrega ou ocorrência por integração autenticada e idempotente.
  6. Crédito, complemento ou reembolso passam por uma decisão auditável e, quando aplicável, pelo provedor de pagamento.

Artefatos distintos

ArtefatoUsoItens e valoresRegra operacional
Etiqueta de transporteidentificação do volume para coleta e entregaitens resumidos, sem preçomostra remetente, destinatário, endereço, pedido, volume, peso, transportadora e rastreio
Romaneio de separaçãoconferência interna de armazémtodos os itens, sem preçomostra SKU, quantidade solicitada, quantidade separada, substituição e observação
Documento fiscalobrigação fiscal e contabilizaçãoitens, valores, impostos e dados fiscaisemitido/autorizado por adapter fiscal; não é editável depois de autorizado

Regra de etiqueta

  • cada remessa possui uma etiqueta principal por volume ou pacote;
  • a etiqueta mostra dados essenciais de remetente, comprador, endereço, pedido, transportadora, rastreio, peso e volume;
  • com até 15 linhas, ela pode trazer uma lista resumida de itens e quantidades, sempre sem valores;
  • acima de 15 linhas, a etiqueta exibe apenas a referência do pedido, total de volumes e QR code/referência do romaneio; a relação completa fica em romaneio separado;
  • o documento fiscal sempre recebe todos os itens e valores exigidos, independentemente do layout da etiqueta;
  • impressão deve gerar HTML/PDF em formato previsível, com página de teste e seleção de impressora no navegador/ambiente local.

Jornada operacional

mermaid

Portas obrigatórias

TransiçãoQuem decideEvidência mínimaBloqueio
paid → awaiting_pickingconciliação de pagamento/webhooktransação aprovada e idempotentenão liberar pagamento pendente/manual sem aprovação
picking → ready_to_invoiceoperador de logísticatodos os itens conferidos ou divergência aprovadanão faturar item pendente de decisão
ready_to_invoice → invoicedadapter fiscalprotocolo/chave e XML ou falha registradanão marcar como faturado por resposta local sem autorização
label_ready → dispatchedexpedição/coletaetiqueta, transportadora e rastreio/coletanão anunciar envio sem rastreio ou confirmação definida pela política
dispatched → deliveredtransportadora ou operaçãowebhook validado ou confirmação auditadanão aceitar evento repetido ou regressivo

Área exclusiva da logística

Criar uma rota dedicada, por exemplo /ecommpanel/admin/fulfillment, com leitura focada na operação. A tela de pedidos continua sendo o histórico comercial; a nova fila não deve depender da edição ampla de pedido.

Painéis da fila

PainelConteúdoAção permitida
Aguardando separaçãopedidos pagos, SLA, origem, itens e alertasassumir lote ou pedido
Em separaçãochecklist por SKU, quantidade, localização e substituiçãomarcar separado, divergente ou solicitar revisão
Aguardando faturamentoconferência concluída e dados fiscais validadosgerar prévia e solicitar emissão
Prontos para despachoetiqueta, romaneio, volume e rastreioimprimir, confirmar coleta ou despacho
Em transportetimeline de eventos da transportadoratratar ocorrência e contato com cliente
Exceçõesfalha fiscal, falta, endereço, reembolso ou entrega sem confirmaçãoencaminhar para o responsável correto

Permissões atuais e próximas integrações

PermissãoPoder
orders.readvê fila, itens e dados necessários de entrega
orders.fulfillment.manageinicia/conclui separação, registra ocorrência, embala e emite romaneio
orders.fulfillment.dispatchgera etiqueta e confirma despacho/coleta
fiscal.issueenvia solicitação ao adapter fiscal
fiscal.cancelsolicita cancelamento/estorno fiscal dentro da regra aplicável
orders.adjustments.manageaprova crédito, complemento ou reembolso
carrier.webhooks.manageconfigura adapter, segredo e mapeamento de eventos

main_admin mantém o controle total. logistics_operator recebe leitura e separação; logistics_manager também recebe despacho. Separação não implica faturamento, despacho não implica ajuste financeiro.

Entregue nesta fase

  • rota exclusiva /ecommpanel/admin/fulfillment, usando a mesma fonte de verdade dos pedidos;
  • checklist por item, quantidade conferida, falta/substituição com observação obrigatória e bloqueio de embalagem quando houver pendência;
  • leitura por leitor USB/Bluetooth ou câmera que se comporte como teclado: SKU, EAN e GTIN incrementam uma unidade conferida do item correspondente, com validação contra o pedido aberto;
  • romaneio e etiqueta HTML imprimíveis, sem valores comerciais, gerados como snapshots versionados em commerce_shipment_documents;
  • QR code na etiqueta para /e-commerce/rastrear/[token], uma página pública noindex que mostra apenas referência reduzida, iniciais do destinatário, localidade, rastreio e eventos públicos; ela não mostra itens, preço, endereço completo, e-mail ou telefone;
  • reimpressão auditável, com checksum e registro de última impressão;
  • etiqueta liberada somente para pedido autorizado/pago e já embalado; despacho e entrega exigem a permissão específica de gestão logística;
  • registro fiscal normalizado em commerce_fiscal_documents, com adapter selecionado exclusivamente por variáveis de runtime e visualização controlada no pedido e em Minha Conta;
  • emissão fiscal efetiva, download de XML/DANFE, webhook de transportadora e ajuste financeiro continuam dependentes de fornecedor homologado e respectivo adapter.

Substituição, ajuste e pós-pagamento

  1. O operador registra falta, avaria ou substituição com item original, item proposto, quantidade e motivo.
  2. Antes da emissão fiscal, um responsável aprova a decisão e o sistema recalcula a diferença sem reescrever o pedido original.
  3. Se houver diferença a favor do cliente, criar uma instrução de crédito interno ou reembolso pelo PSP; se houver complemento, criar cobrança adicional autorizada. Nunca capturar valor extra sem consentimento explícito.
  4. Depois de autorizado o documento fiscal, não editar itens, valores ou impostos no registro original. O fluxo passa a depender de evento fiscal adequado, devolução, nota complementar ou cancelamento, conforme orientação contábil.
  5. Toda decisão gera evento com ator, data, motivo, valores antes/depois e referência ao pagamento/documento correspondente.

Modelo de dados alvo

As tabelas abaixo pertencem ao runtime PostgreSQL e devem ser criadas por migração idempotente, nunca pelo build.

RegistroFinalidadeChaves de integridade
commerce_fulfillment_ordersestado operacional por pedido/fatiaorder_id, estado, responsável, SLA, origem
commerce_fulfillment_itemsseparação, divergência e substituição por itempedido, SKU, solicitado, separado, aprovado
commerce_shipment_documentsversão de etiqueta/romaneio e snapshot imprimível controladopedido, tipo, versão, hash, autor e impressão
commerce_fiscal_documentssolicitação, autorização e arquivos fiscaispedido, tipo, provider, chave, protocolo, status
commerce_fiscal_eventscancelamento, correção, rejeição e retornodocumento, tipo, payload sanitizado, idempotência
commerce_order_adjustmentscrédito, reembolso, complemento e aprovaçãopedido, natureza, valor, PSP, status, aprovador
commerce_carrier_eventswebhook bruto controlado e evento normalizadoprovider, event_id, pedido/rastreio, assinatura, status

Segredos de certificados, adapters, webhook e PSP ficam apenas no ambiente de runtime. O banco deve guardar referências, hashes e metadados necessários para auditoria, nunca números completos de cartão, CVV ou segredo externo em texto.

Integrações externas

Emissor fiscal

O adapter recebe um pedido já congelado para faturamento e responde com estado normalizado: queued, authorized, rejected, cancelled ou error. O contrato precisa suportar:

  • perfil do emitente: CNPJ, inscrição estadual, regime, endereço, série e ambiente de homologação/produção;
  • perfil fiscal de produto: NCM, CFOP, origem, unidade, tributação e regras validadas pela contabilidade;
  • destinatário: CPF/CNPJ, inscrição quando aplicável e endereço;
  • totais de itens, frete, desconto, impostos e pagamento;
  • XML, chave, protocolo e representação auxiliar retornados pelo emissor;
  • reconsulta idempotente quando ocorrer falha de rede.

O EcommPanel oferece os campos e o status. A escolha de fornecedor, certificado, credenciamento estadual e regras tributárias deve ser homologada com contador e emissor fiscal antes de ativar produção.

Contrato de adapter já preparado

O runtime reconhece ECOM_FISCAL_ADAPTER e ECOM_FISCAL_ENVIRONMENT. As chaves iniciais aceitas são focusnfe, enotas, plugnotas e manual; uma chave diferente pode representar um adapter interno. A configuração não faz chamadas externas por si só: ela apenas registra a capacidade ativa e mantém o painel seguro enquanto o conector não estiver implementado.

Cada adapter deve ser idempotente por pedido/documento e preencher commerce_fiscal_documents com tipo, ambiente, status, número, série, chave de acesso, protocolo, data de emissão e disponibilidade de download. XML/DANFE ficam sob armazenamento protegido do adapter, nunca em resposta pública ou no payload do storefront.

Transportadora

O adapter de transportadora normaliza coleta, trânsito, ocorrência, tentativa e entrega. Cada webhook deve:

  1. validar assinatura/segredo e, quando disponível, origem/IP do parceiro;
  2. persistir o evento com chave idempotente antes de alterar o pedido;
  3. ignorar repetição e impedir regressão de status;
  4. mapear apenas eventos reconhecidos para a timeline do cliente;
  5. encaminhar exceções para a fila humana, sem concluir entrega automaticamente em caso ambíguo.

Plano de implementação P0

P0.1 — Base operacional e permissões

  • criar estados de fulfillment separados de status comercial, financeiro e de estoque;
  • criar as permissões propostas e a rota exclusiva da operação;
  • migrar dados atuais de pedido para uma projeção de fulfillment idempotente;
  • liberar na fila somente financialStatus=paid ou equivalente conciliado;
  • registrar auditoria para toda mudança de estado.

Saída: operador vê pedidos pagos e não consegue faturar, despachar ou ajustar valor fora da sua permissão.

P0.2 — Separação, divergência e romaneio

  • exibir itens por pedido, SKU, quantidade, origem, alerta de estoque e observação;
  • registrar quantidade separada, falta, avaria e substituição;
  • criar romaneio imprimível sem preço;
  • exigir revisão para divergência antes de liberar faturamento;
  • incluir contato do cliente apenas no detalhe necessário para resolver exceção.

Saída: a equipe consegue separar um pedido sem usar planilha paralela e sem alterar o pedido original de forma silenciosa.

P0.3 — Etiqueta e despacho

  • criar template de etiqueta principal e controle de versão/geração;
  • aplicar a regra de até 15 linhas e romaneio separado para pedidos maiores;
  • guardar hash do arquivo gerado, volume, peso, transportadora e rastreio;
  • permitir reimpressão auditada sem gerar uma segunda remessa por acidente;
  • bloquear despacho enquanto itens, etiqueta ou rastreio obrigatório estiverem incompletos.

Saída: cada despacho tem etiqueta rastreável, romaneio verificável e evidência de quem confirmou a saída.

P0.4 — Ajustes financeiros controlados

  • criar uma solicitação de ajuste com motivo, valor, beneficiário e aprovador;
  • conectar reembolso/crédito aos adapters de pagamento já normalizados;
  • impedir redução de valor depois de faturamento sem fluxo fiscal correspondente;
  • apresentar ao cliente uma linha clara de crédito, reembolso ou complemento no histórico do pedido.

Saída: substituições e faltas não viram alteração manual de total nem promessa sem lastro financeiro.

P0.5 — Adapter fiscal em homologação

  • escolher emissor fiscal e implementar o conector sobre o contrato independente já registrado;
  • cadastrar configuração do emitente e perfis fiscais, com segregação de segredos;
  • gerar prévia, validar campos obrigatórios e enviar em ambiente de homologação;
  • persistir retorno, XML, chave e rejeições; reprocessar por idempotência;
  • só habilitar emissão produtiva após aceite contábil e testes do emissor.

Saída: um pedido conferido pode ser autorizado em homologação e o painel apresenta documento e falhas de forma auditável.

P0.6 — Adapter de transportadora e eventos

  • escolher transportadora/agregador e implementar adapter por contrato;
  • gerar/registrar postagem ou coletar rastreio conforme a capacidade do parceiro;
  • receber webhook assinado, persistir, normalizar e atualizar timeline;
  • oferecer reconsulta manual e fila de exceções;
  • testar entrega, falha de entrega e evento duplicado.

Saída: o rastreio evolui sem edição manual recorrente e eventos externos não comprometem o estado do pedido.

Critérios de aceite final

  • pedido pago aparece apenas uma vez na fila e pode ser assumido por operador;
  • nenhum item é faturado sem conferência concluída ou revisão aprovada;
  • etiqueta e romaneio não exibem preço, mas permitem identificar corretamente pedido, destinatário e itens;
  • pedidos acima de 15 itens imprimem etiqueta resumida e romaneio completo separado;
  • documento fiscal tem chave/protocolo/arquivo persistidos ou falha detalhada; não existe falso sucesso;
  • reembolso, crédito e complemento possuem aprovação e referência financeira;
  • webhook duplicado não duplica despacho, entrega, reembolso ou evento do cliente;
  • permissões impedem que um operador de separação emita, cancele ou ajuste financeiramente um documento;
  • cada integração pode ser desligada sem quebrar a leitura do pedido, deixando o estado como pendente de operação.

Checklist antes de ativar produção

  • [ ] contador validou operação, CFOP, tributação, regime e regras por UF;
  • [ ] emitente possui credenciamento/certificado e ambiente de homologação configurados no provedor escolhido;
  • [ ] dados fiscais de produtos e destinatários foram revisados;
  • [ ] equipe executou pedido de teste, divergência, faturamento, etiqueta, despacho, entrega e reembolso;
  • [ ] impressão foi testada na impressora física usada pela operação;
  • [ ] webhook foi testado com assinatura inválida, repetição e atraso;
  • [ ] backup/restauração contém configurações, documentos de referência e metadados, sem segredos externos;
  • [ ] runbook de incidente define quem pausa emissão, despacho ou atualização automática em caso de falha.