61 lines
5.8 KiB
Markdown
61 lines
5.8 KiB
Markdown
# TESTESOFICIAIS.FDB — discovery fiscal / RTC / PIS-COFINS
|
||
|
||
Somente leitura, somente `TESTESOFICIAIS.FDB` (Firebird 2.5, WI-V6.3.9.27139, ODS 11.2; 325 tabelas, 5.390 colunas).
|
||
Isolamento `READ COMMITTED READ ONLY`; toda instrução passa por um guarda que só deixa `SELECT` chegar ao driver.
|
||
`WRITE_ATTEMPTS=0`, `WRITE_SUCCESSES=0`. Script: `scripts/discover_testesoficiais_fiscal.py` (sem credenciais no código; lê `FB_USER`/`FB_PASSWORD` do ambiente ou do `.env` local).
|
||
|
||
Nada aqui infere cClassTrib pelo NCM nem CST IBS/CBS pelo CST de ICMS. O NCM do produto está em `C000025.CLASSIFICACAO_FISCAL` (a coluna `NCM` existe, mas está 100% vazia).
|
||
|
||
## C000025 (produtos, 521 linhas)
|
||
|
||
| Pergunta | Resposta | Coluna real |
|
||
|---|---|---|
|
||
| cClassTrib no produto | **SIM (schema), sem uso** | `CCLASSTRIB` VARCHAR(6), nulo, sem default — 0 preenchidos |
|
||
| CST IBS/CBS no produto | NÃO | — (só existe `CSTIBSCBS` nas tabelas auxiliares `RTC_*`) |
|
||
| Campos IBS no produto | NÃO | — |
|
||
| Campos CBS no produto | NÃO | — |
|
||
| Crédito presumido (cCredPres) no produto | NÃO | — (só indicadores `IND_CREDPRES_*` nos catálogos `RTC_*`) |
|
||
|
||
### PIS / COFINS no produto (tudo em `C000025`, todas VARCHAR e anuláveis)
|
||
|
||
| Item | Existe | Coluna | Preenchidos / 521 |
|
||
|---|---|---|---|
|
||
| CST PIS entrada | sim | `COD_ENTRADA_PIS` VARCHAR(3) | 2 |
|
||
| CST PIS saída | sim | `COD_SAIDA_PIS` VARCHAR(3) | 3 |
|
||
| Alíquota PIS | sim (texto) | `ALIQ_PIS` VARCHAR(8) | 3 (2 não vazios) |
|
||
| CST COFINS entrada | sim | `COD_ENTRADA_COFINS` VARCHAR(3) | 2 |
|
||
| CST COFINS saída | sim | `COD_SAIDA_COFINS` VARCHAR(3) | 3 |
|
||
| Alíquota COFINS | sim (texto) | `ALIQ_COFINS` VARCHAR(8) | 3 (2 não vazios) |
|
||
| Flag/incidência | sim | `PISCOFINS` VARCHAR(1) (N=519, S=2); `INCIDENCIA_PISCOFINS` VARCHAR(30) (NENHUMA=519, MONOFÁSICA=1, SUBST.TRIBUTÁRIA=1) | 521 |
|
||
|
||
Os 3 produtos com dado: (saída `04`, monofásica), (entrada/saída `73`/`01`, alíquotas 0,65/3, subst. tributária) e um com o valor `2` em todos os campos (aparenta dado de teste). Ou seja: **suporte no schema, uso real quase nulo** neste banco.
|
||
|
||
Outras colunas fiscais do produto (contexto, não RTC): `CST` (ICMS, 5 valores, 487× `040`), `CSOSN`, `CFOP` (5102 em 493), `CFOP_ENTRADA`/`CST_ENTRADA` (vazios), `CEST`, `ALIQUOTA`, `IPI`, `CST_IPI`, `GRUPO_ICMS`, `SITUACAO_TRIBUTARIA`, `COD_ORIGEM_MERCADORIA`, `ORIGEM`, `EX_TIPI`, `NCM` (vazia), `CLASSIFICACAO_FISCAL` (NCM, 54 distintos).
|
||
|
||
## Onde está o RTC
|
||
|
||
- `RTC_CCLASSTRIB` (145 linhas, catálogo): `CCLASSTRIB` CHAR(6), `CSTIBSCBS` CHAR(3), `DESCRICAO_CLASSTRIB`, `TIPO_ALIQUOTA`, `PRED_IBS`, `PRED_CBS`, `IND_TRIB_REGULAR`, `IND_CREDPRES_OPER`, `IND_ESTORNO_CRED`, indicadores de monofasia, `IND_NFE/NFCE/CTE/...` (documentos aplicáveis), `PUBLICACAO`, `INICIO_VIGENCIA` (2025-05-05 a 2025-11-19), `FIM_VIGENCIA`, `ANEXO`, `LINK`. Cada cClassTrib aponta um CST IBS/CBS (18 distintos).
|
||
- `RTC_CST` (18 linhas, catálogo): `CSTIBSCBS` CHAR(3), `DESCRICAO_CST`, `IND_IBSCBS`, `IND_REDBC`, `IND_REDALIQ`, `IND_TRANSFCRED`, `IND_DIF`, `IND_AJUSTE_COMPET`, `IND_IBSCBS_MONO`, `IND_CREDPRES_IBSZFM`, vigência.
|
||
- `PARAMETROS.USAR_REFORMA_TRIBUTARIA` = `0` (recurso desligado neste banco).
|
||
- Nenhuma procedure ou trigger de usuário referencia RTC/CLASSTRIB.
|
||
- **Nenhuma tabela de documento** (`C000062`, `C000032`, `C000088`, `NFCE_ITENS`…) tem `CCLASSTRIB`/`CSTIBSCBS`/IBS/CBS. Só `C000025.CCLASSTRIB` e as duas tabelas de catálogo têm essas colunas.
|
||
- Integridade: 0 produtos com `CCLASSTRIB` preenchido, portanto 0 referências ao catálogo.
|
||
|
||
## Semântica (por tabela)
|
||
|
||
| Classe | Campos |
|
||
|---|---|
|
||
| PRODUCT_DEFAULT | `C000025.CCLASSTRIB`, `COD_ENTRADA_PIS`, `COD_SAIDA_PIS`, `ALIQ_PIS`, `COD_ENTRADA_COFINS`, `COD_SAIDA_COFINS`, `ALIQ_COFINS`, `PISCOFINS`, `INCIDENCIA_PISCOFINS`; `C000026` (composição de custo/preço por produto, 3 linhas) com `PIS`, `COFINS`, `PIS_ENTRADA`, `COFINS_ENTRADA` e variantes `_P` |
|
||
| DOCUMENT_ITEM_FIELD | `C000062` (itens de nota de saída: `COD_ENTRADA/SAIDA_PIS/COFINS`, `PIS_ALIQUOTA/BASE/VALOR`, `COFINS_*`); `C000032` (itens de venda: `PIS`, `COFINS`); `C000088` (itens de entrada: `PIS`, `PIS_BASE`, `COFINS`, `COFINS_BASE`); `C000087`/`C000061` (cabeçalhos: `PIS`, `COFINS`, `ITEM_PIS_*`); `NFCE_ITENS` (`CST_PIS_COFINS`, `ALIQUOTA_PIS/COFINS`, `BASE_CALCULO_*`, `VALOR_*`); `MOVIMENTACAO_COMBUSTIVEL` |
|
||
| COMPANY_CONFIG | `PARAMETROS.USAR_REFORMA_TRIBUTARIA`; `C000004.PIS`/`COFINS` (vazios) |
|
||
| AUXILIARY_CONFIG | `RTC_CCLASSTRIB`, `RTC_CST` (catálogos oficiais); `C000084A/B` (`ALIQUOTA_PIS/COFINS` + `VALIDADE_*`, vazias); `CODIGO_PISCONFINS` nas tabelas `SINTEGRA_*`, `C000080`, `C000086` (vazias) |
|
||
| UNKNOWN | `C000025.FOOD_ATRIBUICAO_VALORES`; `C000026.CONTRIBUICAO_SOCIAL*` |
|
||
|
||
Uso real em documentos (só para separar SCHEMA_SUPPORT de ACTUAL_USAGE): `NFCE_ITENS.CST_PIS_COFINS` tem valor em 4.668 de 34.946 itens (`01` em 3.336, branco em 1.332); `C000062.COD_SAIDA_PIS` tem `20` em 7 de 693 e `PIS_ALIQUOTA`/`COFINS_ALIQUOTA` em 693 (2 valores distintos).
|
||
|
||
## Conclusão
|
||
|
||
- `TESTESOFICIAIS_RTC_STATUS`: **suporte parcial ao RTC**. O produto tem `CCLASSTRIB` (vazio) e o banco traz os catálogos `RTC_CCLASSTRIB`/`RTC_CST`; não há CST IBS/CBS, IBS, CBS nem cCredPres no produto, nem nenhum campo RTC em tabelas de documento. Recurso desligado (`USAR_REFORMA_TRIBUTARIA=0`).
|
||
- `TESTESOFICIAIS_PIS_COFINS_STATUS`: **schema completo no produto** (CST entrada/saída e alíquota para PIS e COFINS), **uso mínimo** (2–3 de 521 produtos).
|
||
- Próximo passo recomendado: tratar `C000025.CCLASSTRIB` como campo de produto a ser lido (read-only) e validado contra `RTC_CCLASSTRIB` (existência e vigência), derivando o CST IBS/CBS **do catálogo, a partir do cClassTrib informado**, nunca de NCM ou CST de ICMS; e, para PIS/COFINS, tratar o produto como preenchimento esparso (a maioria dos 521 produtos depende de regra ou de evidência externa, não do cadastro).
|