Pular para conteúdo

Extensão Fiscal

br.dev.bcp.shopping.tax estende checkout e order.

Visão geral

Esta extensão traz a discriminação tributária brasileira na transação: tipo de imposto, alíquota, base de cálculo, valor, autoridade de destino e fiscal do produto classificação (NCM) por linha de item.

O vocabulário do tipo de imposto é intencionalmente aberto. Reforma tributária do Brasil 2026-2033 muda o mix ao longo do tempo, com a transição de ICMS, ISS e DIFAL e IBS, CBS e IS em transição. Uma enumeração fechada exigiria alterações de esquema a cada fase.

O campo authority expõe a esfera federativa financiada por cada tributo (federal, state, municipal e subnational para impostos compartilhados, como SII). Isto apoia os requisitos de transparência dos preços ao consumidor e a divisão futura fluxos de pagamento.

Descoberta```json

{ "capabilities": { "br.dev.bcp.shopping.tax": [ { "version": "2026-07-14", "extends": ["br.dev.bcp.shopping.checkout", "br.dev.bcp.shopping.order"], "spec": "https://bcp.dev.br/2026-07-14/specification/tax", "schema": "https://bcp.dev.br/2026-07-14/schemas/shopping/tax.json" } ] } } ``O recurso não declara o perfilconfig`. O cálculo do imposto ocorre por trás de um porta de cálculo de impostos do lado do vendedor; o regime tributário do vendedor é uma identidade ou Preocupação com AgentFacts, não uma configuração de capacidade fiscal.

Composição do esquema

  • checkout.line_items[] e order.line_items[] são estendidos com ncm e taxes[].
  • Os totais de impostos agregados utilizam a categoria total tax existente.
  • Esquema: schemas/shopping/tax.json.

Campos

Entradas tax_detail em line_item.taxes[]

Campo Tipo Obrigatório Descrição
type corda aberta Sim Valores bem conhecidos incluem icms, iss, difal, ibs, cbs e is.
rate número Não Taxa aplicada como fração decimal, como 0.009 para 0,9%.
base inteiro Não Base de cálculo em unidades monetárias menores.
amount inteiro Sim Valor do imposto em unidades monetárias menores.
authority corda aberta Não Nível federativo financiado por este imposto.

Novos campos de item de linha

Campo Tipo Obrigatório Descrição
ncm corda Não Classificação fiscal do Mercosul de oito dígitos.
taxes matriz de tax_detail Não Uma entrada por incidência tributária.

Normas Normativas

  1. Com esse recurso ativo, cada checkout e resposta de pedido DEVE incluir pelo menos uma entrada tax em totals com o valor total aproximado do imposto.
  2. Os preços mostrados aos consumidores DEVEM já incluir impostos.
  3. Os clientes DEVEM tolerar valores fiscais desconhecidos type e authority.

Exemplo

Trecho da resposta de checkout:json { "line_items": [ { "id": "li_1", "item": { "id": "prod_1", "title": "Ceramic vase", "price": 10000 }, "quantity": 1, "ncm": "69120000", "taxes": [ { "type": "cbs", "rate": 0.009, "base": 10000, "amount": 90, "authority": "federal" }, { "type": "ibs", "rate": 0.001, "base": 10000, "amount": 10, "authority": "subnational" } ], "totals": [{ "type": "subtotal", "amount": 10000 }] } ], "totals": [ { "type": "subtotal", "amount": 10000 }, { "type": "tax", "display_text": "Estimated taxes", "amount": 100 }, { "type": "total", "amount": 10000 } ] }