5. Pipeline fiscal — NFC-e (modelo 65)

Emissão para Santa Catarina (NFC-e; SAT não se aplica). Empresa Regime Normal (CRT 3) → CST (não CSOSN). Provedor: eNotas (assíncrono).

Desacoplado (§7.4): o núcleo fiscal fala com abstrações — FiscalProvider (eNotas hoje; FocusNFe/SEFAZ direto depois) e TaxEngine (RegimeNormal/CST e SimplesNacional/CSOSN), escolhidos por casa. UF/regime/provedor deixam de ser fixos. Código em services/fiscal_provider.py.

Estratégia série 2: a NFC-e do sistema sai em série 2; o Hubzy fica na série 1 (mesmo CNPJ/cert/CSC, sem colisão). Roda em paralelo sem afetar o Hubzy.

Trâmite: (1) venda consumada chama _emitir_nfce_*; (2) gate: só emite se config pronta (_fiscal_config_casa) e canal habilitado; (3) monta payload com dados fiscais por produto → cria NotaFiscal 'processando'; (4) _atualizar_nota_fiscal consulta eNotas → autorizada (grava chave/protocolo/DANFE/XML) ou rejeitada; (5) falha vira 'erro' → reenviar; contabilidade baixa ZIP por período separado por status.

Segredos: chave da API, senha do certificado e CSC são criptografados (Fernet, derivado do SECRET_KEY) — nunca em texto puro. Certificado A1 (.pfx) validado por pkcs12.

Versão para IA/crawler: /manual.md (Markdown cru) · /manual/completo (página única) · /sitemap.xml