---
type: table
papel: fato
grain: "uma linha = um item de pedido faturado (uma linha da nota, não o pedido inteiro)"
tipo_fato: transacional
load_type: Temporal
coluna_particao_tracking: DT_ALTERACAO
chave_negocio: [NUNOTA, SEQUENCIA]
dedupe: "não aplicável — chave (NUNOTA, SEQUENCIA) já é única, ver Grain Check abaixo"
dimensao_conformada: null   # não aplicável — é fato
scd: null                   # não aplicável — é fato
dw_desk_destino: "Vendas — decisão da analista Camila Duarte"
retencao_dw: a-perguntar    # ver incognitas.md#retencao-lgpd-pedido-item
estrategia: star
confianca: confirmado   # ver incognitas.md — rastro é o bloco de Evidência de profiling abaixo
---

# Colunas propostas

| Nome de negócio | Coluna física (origem) | Destino DW |
|---|---|---|
| Nº do pedido / sequência do item | NUNOTA / SEQUENCIA | chave_negocio |
| Data da venda | DTNEG | fact.data |
| Valor líquido do item | VALOR_LIQUIDO | fact.valor_liquido |
| Desconto do item | VLRDESCONTO | fact.valor_desconto |
| Status da nota | STATUSNOTA | fact.status (filtro) |
| Tipo de movimento (venda/bonificação) | TIPMOV | fact.tipo_movimento (filtro) |
| Produto | CODPROD | FK dim_produto |
| Cliente | CODPARC | FK dim_cliente |
| Vendedor | CODVEND | FK dim_vendedor |
| Loja/filial | CODEMP | FK dim_loja |
| Última alteração (tracking) | DT_ALTERACAO | metadado de carga |

# Evidência de profiling

| Decisão | Teste | Resultado | Status |
|---|---|---|---|
| Grain: 1 linha = item de pedido | `COUNT(*)` vs `COUNT(DISTINCT NUNOTA,SEQUENCIA)` em TGFITE | 1.842.006 = 1.842.006 | Validado (10/04/2026) |
| Load Temporal por DT_ALTERACAO | imutabilidade: `updated < created` | 0 linhas; porém 12% de DT_ALTERACAO NULL | Premissa não validada — RISCO, mitigado com chave única + janela de lookback de 3 dias; origem do NULL registrada como incógnita (`dt-alteracao-origem-nulos` em `../incognitas.md`, dono: precisa-acesso-banco) |
| Status que conta | `GROUP BY STATUSNOTA` | L (liberado/faturado) = 1,70M · A (aberto) = 98k · C (cancelado) = 44k | Validado — só "L" conta como faturamento |
| Bonificação inflando receita | `GROUP BY TIPMOV` cruzado com VALOR_LIQUIDO | TIPMOV='B' representa 8,3% do valor somado se não filtrado | Validado — achado que gerou a regra de exclusão em `metricas/receita-liquida.md` |
| Órfãos de vendedor (fato → dim_vendedor) | `LEFT JOIN` fato × dim candidata por CODVEND | 0,2% de linhas com CODVEND não encontrado (vendedores inativos/excluídos no ERP) | Validado como risco aceitável — mapear para "Vendedor não identificado" na carga |
| Cadência D-1 | defasagem_atual — `NOW() - MAX(DT_ALTERACAO)` medida às 06:50 | 5h48min de defasagem; carga do dia anterior consolidada bem antes do corte das 07:00 combinado com Marcos | Validado |
