07 - Novos campos da Reforma Tributária
IMPORTANTE
Pessoal, estou implementando isso, ainda não finalizado, serve apenas de referência.
Conferindo com os schemas do xmls ainda, ok!
AGRADECIMENTOS
Este DER foi iniciado após conversas com meu concorrente (rs), porém BROTHER de desenvolvimento, amigo verdadeiro (daqueles que se conta numa única mão), cara mais do que parceiro: GLENIO DUARTE.
Estrutura para a Reforma baseada nos schemas de xml
vBCIBSCBSgIBSgIBSUF:vDif,vDevTrib,vIBSUFgIBSMun:vDif,vDevTrib,vIBSMunvIBSvCredPres,vCredPresCondSus
gCBSvDif,vDevTrib,vCBSvCredPres,vCredPresCondSus
gMonovIBSMono,vCBSMono,vIBSMonoReten,vCBSMonoReten,
Campos documentados
- ✅
vbcibscbs→vBCIBSCBS - ✅ IBS UF:
vibsdifuf,vibsdevtribuf,vibsuf - ✅ IBS Mun:
vibsdifmun,vibsdevtribmun,vibsmun - ✅ IBS total:
vibs - ✅ CBS total:
vcbs - ✅ Crédito presumido IBS:
vcredpres,vcredprescondsus - ✅ Crédito presumido CBS:
vcbscredpres,vcbscredprescondsus - ✅ Monofásico:
vibsmono,vcbsmono,vibsmonoreten,vcbsmonoreten,vibsmonoret,vcbsmonoret
- ✅ IS total:
vis - ✅
vnftotbatendo com a fórmula da NT (vProd – vDesc + … + vIBS + vCBS + vIS).
No item, olhando o grupo IBSCBS (vBCIBSCBS, gIBS, gCBS, gMono, gIBSCredPres, gCBSCredPres, etc.):
- ✅ Base combinada:
ibscbs_vbc→vBCIBSCBS - ✅ IBS UF:
pibs_uf,vibs_uf,ibs_pdif_uf,vibs_vdif_uf,ibs_predaliq_uf,ibs_paliqefet_uf,ibs_devtrib_uf - ✅ IBS Mun:
pibs_mun,vibs_mun,ibs_pdif_mun,vibs_vdif_mun,ibs_predaliq_mun,ibs_paliqefet_mun,ibs_devtrib_mun - ✅ IBS total item:
vibs - ✅ CBS item:
pcbs,vcbs,cbs_pdif,vcbs_vdif,cbs_predaliq,cbs_paliqefet,cbs_devtrib - ✅ Crédito presumido IBS:
ccredpres,ibs_pcredpres,ibs_vcredpres,ibs_vcredprescondsus - ✅ Monofásico IBS:
ibs_mono_base,ibs_mono_aliq,ibs_mono_valor - ✅ Monofásico CBS:
cbs_mono_base,cbs_mono_aliq,cbs_mono_valor - ✅ Classificação:
cst_ibs_cbs,cclasstrib,origmerc
Estamos com isso cobrindo o “miolo duro” de base, alíquota, valor e diferimento tanto de IBS quanto CBS, mais classe tributária e monofásico.
Fonte:
Postagem no Forum do ACBR
DER
Banco Mysql
Alinhando campos do DER com os schemas do xml para o banco Mysql:
-
- Tipo:
TDec_0302_04RTC→NUMERIC(7,4).
- Tipo:
ibs_vcredpres→<gIBSCredPres>/<vCredPres>- Tipo:
TDec1302RTC→NUMERIC(15,2).
- Tipo:
ibs_vcredprescondsus→<gIBSCredPres>/<vCredPresCondSus>
-- TABELA: nota cabeçalho
-- Natureza da NF quanto a debitos/creditos (uso interno)
ADD COLUMN tpnfdebito TINYINT NULL COMMENT 'Indicador de NF de debito',
ADD COLUMN tpnfcredito TINYINT NULL COMMENT 'Indicador de NF de credito',
-- Base combinada IBS/CBS da NF
ADD COLUMN vbcibscbs DECIMAL(15,2) NULL COMMENT 'base de calculo combinada IBS/CBS',
-- Credito Presumido
ADD COLUMN vcredpres DECIMAL(15,2) NULL COMMENT 'valor total de credito presumido (ibs/cbs) da NF',
ADD COLUMN vcredprescondsus DECIMAL(15,2) NULL COMMENT 'credito presumido condicionado a suficiencia',
-- Totais IBS - UF (IBSCBSTot/gIBS/gIBSUFTot)
ADD COLUMN vibsdifuf DECIMAL(15,2) NULL COMMENT 'diferença IBS UF (ajuste/DIFAL)',
ADD COLUMN vibsdevtribuf DECIMAL(15,2) NULL COMMENT 'IBS devido a UF',
ADD COLUMN vibsuf DECIMAL(15,2) NULL COMMENT 'IBS devido total UF de destino',
-- Totais IBS - Município (IBSCBSTot/gIBS/gIBSMunTot)
ADD COLUMN vibsdifmun DECIMAL(15,2) NULL COMMENT 'Diferenca IBS Municipio',
ADD COLUMN vibsdevtribmun DECIMAL(15,2) NULL COMMENT 'IBS devido ao Municipio',
ADD COLUMN vibsmun DECIMAL(15,2) NULL COMMENT 'IBS devido total ao Municipio',
-- Credito presumido consolidado IBS/CBS (IBSCBSTot/gIBS e gCBS)
ADD COLUMN vcredpres DECIMAL(15,2) NULL COMMENT 'Valor total crédito presumido IBS/CBS (vCredPres)',
ADD COLUMN vcredprescondsus DECIMAL(15,2) NULL COMMENT 'Valor total crédito presumido cond. suspensa IBS/CBS (vCredPresCondSus)',
-- Totais CBS (IBSCBSTot/gCBS)
ADD COLUMN vcbsdif DECIMAL(15,2) NULL COMMENT 'Diferenca CBS',
ADD COLUMN vcbscredpres DECIMAL(15,2) NULL COMMENT 'Credito presumido CBS',
ADD COLUMN vcbscredprescondsus DECIMAL(15,2) NULL COMMENT 'Credito presumido CBS condicionado suficiencia',
ADD COLUMN vcbsdevtrib DECIMAL(15,2) NULL COMMENT '*CBS devolvido (vDevTrib CBS)';
-- Totais monofasicos da NF (IBSCBSTot/gMono)
ADD COLUMN vibsmono DECIMAL(15,2) NULL COMMENT 'Valor IBS monofasico',
ADD COLUMN vcbsmono DECIMAL(15,2) NULL COMMENT 'Valor CBS monofasico',
ADD COLUMN vcbsmonoreten DECIMAL(15,2) NULL COMMENT 'IBS monofasico retido (responsabilidade de terceiros)',
ADD COLUMN vibsmonoreten DECIMAL(15,2) NULL COMMENT 'CBS monofásico retido (responsabilidade de terceiros)',
ADD COLUMN vibsmonoret DECIMAL(15,2) NULL COMMENT 'IBS monofasico a reter',
ADD COLUMN vcbsmonoret DECIMAL(15,2) NULL COMMENT 'CBS monofásico a reter',
-- IBS / CBS / IS totais da NF
ADD COLUMN vibs DECIMAL(15,2) NULL COMMENT 'valor total do IBS da NF',
ADD COLUMN vcbs DECIMAL(15,2) NULL COMMENT 'valor total do CBS na NF',
ADD COLUMN vis DECIMAL(15,2) NULL COMMENT 'valor total do imposto seletivo IS (somente 2027)';
-- vnftot - valor total da NF com IBS/CBS/IS
ADD COLUMN vnftot DECIMAL(15,2) NULL COMMENT 'Valor total da NF no modelo IBS/CBS',
-- TABELA: nota_itens
-- Identificacao / classificacao IBS/CBS do item
ADD COLUMN cst_ibs_cbs VARCHAR(3) NULL COMMENT 'CST unificado IBS/CBS',
ADD COLUMN cclasstrib VARCHAR(6) NULL COMMENT 'codigo da classificacao tributaria',
ADD COLUMN origmerc TINYINT NULL COMMENT 'Origem da mercadoria (0=nacional,1=importada,...)',
-- Base combinada IBS/CBS
ADD COLUMN ibscbs_vbc DECIMAL(15,2) NULL COMMENT 'Base de calculo IBS/CBS do item',
-- IBS - UF (gIBSUF)
ADD COLUMN pibs_uf DECIMAL(7,4) NULL COMMENT 'Aliquota IBS UF',
ADD COLUMN vibs_uf DECIMAL(15,2) NULL COMMENT 'Valor IBS UF',
ADD COLUMN ibs_pdif_uf DECIMAL(7,4) NULL COMMENT 'Percentual diferenca UF (DIFAL IBS)',
ADD COLUMN vibs_vdif_uf DECIMAL(15,2) NULL COMMENT 'Valor diferenca IBS UF',
ADD COLUMN ibs_predaliq_uf DECIMAL(7,4) NULL COMMENT 'Aliquota de referencia IBS UF',
ADD COLUMN ibs_paliqefet_uf DECIMAL(7,4) NULL COMMENT 'Aliquota efetiva IBS UF',
ADD COLUMN ibs_devtrib_uf DECIMAL(15,2) NULL COMMENT 'IBS devido UF',
-- IBS - Municipio (gIBSMun)
ADD COLUMN pibs_mun DECIMAL(7,4) NULL COMMENT 'Aliquota IBS Municipio',
ADD COLUMN vibs_mun DECIMAL(15,2) NULL COMMENT 'Valor IBS Municipio',
ADD COLUMN ibs_pdif_mun DECIMAL(7,4) NULL COMMENT 'Percentual diferenca Municipio',
ADD COLUMN vibs_vdif_mun DECIMAL(15,2) NULL COMMENT 'Valor difernca IBS Municipio',
ADD COLUMN ibs_predaliq_mun DECIMAL(7,4) NULL COMMENT 'Aliquota de referencia IBS Municipio',
ADD COLUMN ibs_paliqefet_mun DECIMAL(7,4) NULL COMMENT 'Aliquota efetiva IBS Municipio' ,
ADD COLUMN ibs_devtrib_mun DECIMAL(15,2) NULL COMMENT 'IBS devido Municipio',
-- IBS - total do item (consolidado)
ADD COLUMN vibs DECIMAL(15,2) NULL COMMENT 'Valor IBS total do item',
-- CBS - total do item (gCBS)
ADD COLUMN pcbs DECIMAL(7,4) NULL COMMENT 'Alíquota CBS',
ADD COLUMN vcbs DECIMAL(15,2) NULL COMMENT 'Valor CBS',
ADD COLUMN cbs_pdif DECIMAL(7,4) NULL COMMENT 'Percentual diferença CBS',
ADD COLUMN vcbs_vdif DECIMAL(15,2) NULL COMMENT 'Valor diferença CBS',
ADD COLUMN cbs_predaliq DECIMAL(7,4) NULL COMMENT 'Alíquota de referencia CBS',
ADD COLUMN cbs_paliqefet DECIMAL(7,4) NULL COMMENT 'Aliquota efetiva CBS',
ADD COLUMN cbs_devtrib DECIMAL(15,2) NULL COMMENT 'CBS devido';
-- Credito presumido por item (IBS)
ADD COLUMN ccredpres VARCHAR(2) NULL COMMENT 'Indicador se gera credito presumido',
ADD COLUMN ibs_pcredpres DECIMAL(7,4) NULL COMMENT 'Percentual credito presumido IBS',
ADD COLUMN ibs_vcredpres DECIMAL(15,2) NULL COMMENT 'Valor credito presumido IBS',
ADD COLUMN ibs_vcredprescondsus DECIMAL(15,2) NULL COMMENT 'Credito IBS condicionado a suficiencia',
ADD COLUMN ibs_vbc_credpres DECIMAL(15,2) NULL COMMENT '*Base crédito presumido IBS (vBC gIBSCredPres)';
-- Monofasico por item - IBS
ADD COLUMN ibs_mono_base DECIMAL(15,2) NULL COMMENT 'Base IBS monofasico item',
ADD COLUMN ibs_mono_aliq DECIMAL(7,4) NULL COMMENT 'Aliquota IBS monofasico item',
ADD COLUMN ibs_mono_valor DECIMAL(15,2) NULL COMMENT 'Valor IBS monofasico item',
-- Monofasico por item - CBS
ADD COLUMN cbs_mono_base DECIMAL(15,2) NULL COMMENT 'Base CBS monofasico item',
ADD COLUMN cbs_mono_aliq DECIMAL(7,4) NULL COMMENT 'Aliquota CBS monofasico item',
ADD COLUMN cbs_mono_valor DECIMAL(15,2) NULL COMMENT 'Valor CBS monofasico item',
ADD COLUMN cbs_ccredpres VARCHAR(2) NULL COMMENT '*Código de crédito presumido CBS (cCredPres CBS)',
ADD COLUMN cbs_vbc_credpres DECIMAL(15,2) NULL COMMENT '*Base crédito presumido CBS (vBC gCBSCredPres)',
ADD COLUMN cbs_pcredpres DECIMAL(7,4) NULL COMMENT '*Percentual crédito presumido CBS (pCredPres CBS)',
ADD COLUMN cbs_vcredpres DECIMAL(15,2) NULL COMMENT '*Valor crédito presumido CBS (vCredPres CBS)',
ADD COLUMN cbs_vcredprescondsus DECIMAL(15,2) NULL COMMENT '*Crédito CBS cond. suspensiva (vCredPresCondSus CBS)';
ADD COLUMN is_cenq VARCHAR(3) NULL COMMENT '*Código de enquadramento IS (cEnqIS)',
ADD COLUMN is_vbc DECIMAL(15,2) NULL COMMENT '*Base de cálculo do IS (vBC IS)',
ADD COLUMN is_pis DECIMAL(7,4) NULL COMMENT '*Alíquota do IS (pIS)',
ADD COLUMN is_vis DECIMAL(15,2) NULL COMMENT '*Valor do IS no item (vIS)';
-- Lembrando que, pela NT, o IS é "por fora" e entra na composicao do vNF somando ao total.
-- vTribOp = vBC × alíquota vigente (com tolerância de 0,01)
ADD COLUMN cbs_vtribop DECIMAL(15,2) NULL COMMENT 'Tributo bruto CBS da operação (gCBS/vTribOp)';
ADD COLUMN ibs_vtribop DECIMAL(15,2) NULL COMMENT 'Tributo bruto IBS da operação (quando aplicavel)';
ADD COLUMN ibs_vbc_dif_uf DECIMAL(15,2) NULL COMMENT '' ;
ADD COLUMN ibs_vbc_dif_mun DECIMAL(15,2) NULL COMMENT '' ;
ADD COLUMN cbs_vbc_dif DECIMAL(15,2) NULL COMMENT '' ;
-- Regimes (opcional)
ADD COLUMN regime_tributario_ibs VARCHAR(1) NULL COMMENT 'Regime IBS (0=Geral, 1=Monofásico, 2=Suspensão, 3=Isento, 4=Alíquota Diferenciada, 5=Especial Simplificado)';
ADD COLUMN regime_tributario_cbs VARCHAR(1) NULL COMMENT 'Regime CBS (0=Geral, 1=Monofásico, 2=Suspensão, 3=Isento, 4=Alíquota Diferenciada, 5=Especial Simplificado)';
Tipos básicos baseado no schema do xml
Mapeamento conceitual (campos → tipos XSD)
Usando os tipos do DFeTiposBasicos_v1.00.xsd:
<!-- natureza da NF quanto a débitos/créditos -->
<xs:element name="tpNFdebito" type="xs:integer" minOccurs="0"/>
<xs:element name="tpNFcredito" type="xs:integer" minOccurs="0"/>
<!-- Base de cálculo IBS/CBS (total da NF) -->
<xs:element name="vBCIBSCBS" type="TDec1302RTC" minOccurs="0"/>
<!-- Crédito Presumido total da NF -->
<xs:element name="vCredPres" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCredPresCondSus" type="TDec1302RTC" minOccurs="0"/>
<!-- Relacionados a UF -->
<xs:element name="vIBSDifUF" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBSDevTribUF" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBSUF" type="TDec1302RTC" minOccurs="0"/>
<!-- Município -->
<xs:element name="vIBSDifMun" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBSDevTribMun" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBSMun" type="TDec1302RTC" minOccurs="0"/>
<!-- CBS -->
<xs:element name="vCBSDif" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCBSCredPres" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCBSCredPresCondSus"type="TDec1302RTC" minOccurs="0"/>
<!-- Monofásico / retenção – totais da NF -->
<xs:element name="vIBSMono" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCBSMono" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCBSMonoReten" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBSMonoReten" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBSMonoRet" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCBSMonoRet" type="TDec1302RTC" minOccurs="0"/>
<!-- Valor total da NF no modelo IBS/CBS -->
<xs:element name="vNFTot" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIBS" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vCBS" type="TDec1302RTC" minOccurs="0"/>
<xs:element name="vIS" type="TDec1302RTC" minOccurs="0"/>
<!-- Regimes (opcional) -->
<xs:element name="regimeTributarioIBS" type="xs:integer" minOccurs="0"/>
<xs:element name="regimeTributarioCBS" type="xs:integer" minOccurs="0"/>
Mapeamento conceitual (campos → tipos XSD)
<!-- CST unificado IBS/CBS -->
<xs:element name="CST_IBS_CBS" type="xs:string" minOccurs="0"/> <!-- 3 dígitos -->
<!-- Classificação tributária -->
<xs:element name="cClassTrib" type="xs:string" minOccurs="0"/> <!-- até 6 dígitos -->
<!-- Origem da mercadoria/serviço -->
<xs:element name="origMerc" type="xs:integer" minOccurs="0"/>
<!-- Base combinada IBS/CBS do item -->
<xs:element name="vBCIBSCBS" type="TDec1104RTC" minOccurs="0"/>
<!-- IBS – UF -->
<xs:element name="pIBSUF" type="TDec_0302_04RTC" minOccurs="0"/> <!-- alíquota -->
<xs:element name="vIBSUF" type="TDec1104RTC" minOccurs="0"/> <!-- valor -->
<xs:element name="pDifUF" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vDifUF" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pRedAliqUF" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="pAliqEfetUF" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vDevTribUF" type="TDec1104RTC" minOccurs="0"/>
<!-- IBS – Município -->
<xs:element name="pIBSMun" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vIBSMun" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pDifMun" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vDifMun" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pRedAliqMun" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="pAliqEfetMun" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vDevTribMun" type="TDec1104RTC" minOccurs="0"/>
<!-- IBS – total do item -->
<xs:element name="vIBS" type="TDec1104RTC" minOccurs="0"/>
<!-- CBS – total do item -->
<xs:element name="pCBS" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vCBS" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pDifCBS" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vDifCBS" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pRedAliq" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="pAliqEfet" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vDevTrib" type="TDec1104RTC" minOccurs="0"/>
<!-- Crédito presumido por item -->
<xs:element name="indCredPres" type="xs:integer" minOccurs="0"/>
<xs:element name="pCredPresIBS" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vCredPresIBS" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="vCredPresCondSusIBS" type="TDec1104RTC" minOccurs="0"/>
<!-- Monofásico por item -->
<xs:element name="vBCIBSMono" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pIBSMono" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vIBSMono" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="vBCCBSMono" type="TDec1104RTC" minOccurs="0"/>
<xs:element name="pCBSMono" type="TDec_0302_04RTC" minOccurs="0"/>
<xs:element name="vCBSMono" type="TDec1104RTC" minOccurs="0"/>
Refactoring 100% após estudos
nota_cabecalho
ALTER TABLE nota_cabecalho
-- =================================================================
-- GRUPO TOTAL > ISTot (Imposto Seletivo Total)
-- =================================================================
ADD COLUMN total_istot_vis DECIMAL(15, 2) NULL COMMENT 'w03 | w33 | valor total do imposto seletivo',
-- =================================================================
-- GRUPO TOTAL > IBSCBSTot (Totalizadores IBS e CBS)
-- =================================================================
ADD COLUMN total_ibscbstot_vbcibscbs DECIMAL(15, 2) NULL COMMENT 'w03 | w35 | valor total da base de calculo do ibs e da cbs',
-- -----------------------------------------------------------------
-- Subgrupo: gIBS (Total IBS)
-- -----------------------------------------------------------------
ADD COLUMN total_ibscbstot_gibs_vibs DECIMAL(15, 2) NULL COMMENT 'w03 | w47 | valor total do ibs',
ADD COLUMN total_ibscbstot_gibs_vcredpres DECIMAL(15, 2) NULL COMMENT 'w03 | w48 | valor total do credito presumido do ibs',
ADD COLUMN total_ibscbstot_gibs_vcredprescondsus DECIMAL(15, 2) NULL COMMENT 'w03 | w49 | valor total do credito presumido em condicao suspensiva ibs',
-- Subgrupo: gIBS -> gIBSUFTot (Total UF)
ADD COLUMN total_ibscbstot_gibs_gibsuftot_vibsuf DECIMAL(15, 2) NULL COMMENT 'w03 | w41 | valor total do ibs da uf',
ADD COLUMN total_ibscbstot_gibs_gibsuftot_vdif DECIMAL(15, 2) NULL COMMENT 'w03 | w38 | valor total do diferimento do ibs da uf',
ADD COLUMN total_ibscbstot_gibs_gibsuftot_vdevtrib DECIMAL(15, 2) NULL COMMENT 'w03 | w39 | valor total de devolucao de tributos ibs uf',
-- Subgrupo: gIBS -> gIBSMunTot (Total Municipio)
ADD COLUMN total_ibscbstot_gibs_gibsmuntot_vibsmun DECIMAL(15, 2) NULL COMMENT 'w03 | w46 | valor total do ibs do municipio',
ADD COLUMN total_ibscbstot_gibs_gibsmuntot_vdif DECIMAL(15, 2) NULL COMMENT 'w03 | w43 | valor total do diferimento do ibs do municipio',
ADD COLUMN total_ibscbstot_gibs_gibsmuntot_vdevtrib DECIMAL(15, 2) NULL COMMENT 'w03 | w44 | valor total de devolucao de tributos ibs municipio',
-- -----------------------------------------------------------------
-- Subgrupo: gCBS (Total CBS)
-- -----------------------------------------------------------------
ADD COLUMN total_ibscbstot_gcbs_vcbs DECIMAL(15, 2) NULL COMMENT 'w03 | w56 | valor total da cbs',
ADD COLUMN total_ibscbstot_gcbs_vdif DECIMAL(15, 2) NULL COMMENT 'w03 | w53 | valor total do diferimento da cbs',
ADD COLUMN total_ibscbstot_gcbs_vdevtrib DECIMAL(15, 2) NULL COMMENT 'w03 | w54 | valor total de devolucao de tributos da cbs',
ADD COLUMN total_ibscbstot_gcbs_vcredpres DECIMAL(15, 2) NULL COMMENT 'w03 | w56a | valor total do credito presumido da cbs',
ADD COLUMN total_ibscbstot_gcbs_vcredprescondsus DECIMAL(15, 2) NULL COMMENT 'w03 | w56b | valor total do credito presumido em condicao suspensiva cbs',
-- -----------------------------------------------------------------
-- Subgrupo: gMono (Total Monofasico)
-- -----------------------------------------------------------------
ADD COLUMN total_ibscbstot_gmono_vibsmono DECIMAL(15, 2) NULL COMMENT 'w03 | w58 | total do ibs monofasico',
ADD COLUMN total_ibscbstot_gmono_vcbsmono DECIMAL(15, 2) NULL COMMENT 'w03 | w59 | total da cbs monofasica',
ADD COLUMN total_ibscbstot_gmono_vibsmonoreten DECIMAL(15, 2) NULL COMMENT 'w03 | w59a | total do ibs monofasico sujeito a retencao',
ADD COLUMN total_ibscbstot_gmono_vcbsmonoreten DECIMAL(15, 2) NULL COMMENT 'w03 | w59b | total da cbs monofasica sujeita a retencao',
ADD COLUMN total_ibscbstot_gmono_vibsmonoret DECIMAL(15, 2) NULL COMMENT 'w03 | w59c | total do ibs monofasico retido anteriormente',
ADD COLUMN total_ibscbstot_gmono_vcbsmonoret DECIMAL(15, 2) NULL COMMENT 'w03 | w59d | total da cbs monofasica retida anteriormente',
-- -----------------------------------------------------------------
-- Subgrupo: gEstornoCred (Total Estorno)
-- -----------------------------------------------------------------
ADD COLUMN total_ibscbstot_gestornocred_vibsestcred DECIMAL(15, 2) NULL COMMENT 'w03 | w59f | valor total do estorno de credito de ibs',
ADD COLUMN total_ibscbstot_gestornocred_vcbsestcred DECIMAL(15, 2) NULL COMMENT 'w03 | w59g | valor total do estorno de credito de cbs',
-- =================================================================
-- GRUPO TOTAL (Raiz)
-- =================================================================
-- Este campo soma os totais antigos (ICMS/PIS/COFINS) + novos (IBS/CBS/IS)
ADD COLUMN total_vnftot DECIMAL(15, 2) NULL COMMENT 'w03 | w60 | valor total da nf-e com ibs cbs e is',
-- =================================================================
-- GRUPO IDE (Identificacao) - Novos campos da Reforma
-- ACBr: Ide.cMunFGIBS, Ide.tpNFDebito, Ide.tpNFCredito
-- =================================================================
ADD COLUMN ide_cmunfgibs VARCHAR(7) NULL COMMENT 'b | b25c | codigo do municipio de ocorrencia do fato gerador ibs cbs',
ADD COLUMN ide_tpnfdebito VARCHAR(2) NULL COMMENT 'b | b25.1 | indicador de nota de debito',
ADD COLUMN ide_tpnfcredito VARCHAR(2) NULL COMMENT 'b | b25.2 | indicador de nota de credito',
-- =================================================================
-- GRUPO G01: Compras Governamentais (gCompraGov)
-- ACBr: gCompraGov (0-1 Ocorrencia - Cabe no header)
-- =================================================================
ADD COLUMN compragov_xnemp VARCHAR(60) NULL COMMENT 'g01 | g02 | nota de empenho',
ADD COLUMN compragov_xped VARCHAR(60) NULL COMMENT 'g01 | g03 | pedido',
ADD COLUMN compragov_xcont VARCHAR(60) NULL COMMENT 'g01 | g04 | contrato';
-- tpnfdebito
-- 01=Transferencia de creditos para Cooperativas;
-- 02=Anulacao de Credito por Saidas Imunes/Isentas;
-- 03=Debitos de notas fiscais nao processadas na apuracao;
-- 04=Multa e juros;
-- 05=Transferencia de credito na sucessao;
-- 06=Pagamento antecipado;
-- 07=Perda em estoque;
-- 08=Desenquadramento do SN;
-- tpnfcredito
-- 01=Multa e juros;
-- 02=Apropriacao de credito presumido de IBS sobre o saldo devedor na ZFM (art. 450, par. 1, LC 214/25);
-- 03=Retorno por recusa na entrega ou por nao localizacao do destinatario na tentativa de entrega;
-- 04=Reducao de valores;
-- 05=Transferencia de credito na sucessao;
nota_itens
ALTER TABLE nota_itens
-- =================================================================
-- 1. GRUPO: ISel (Imposto Seletivo)
-- Classe ACBr: TISel
-- =================================================================
ADD COLUMN isel_cstis VARCHAR(3) NULL COMMENT 'ub01 | ub02 | codigo de situacao tributaria do imposto seletivo',
ADD COLUMN isel_cclasstribis VARCHAR(6) NULL COMMENT 'ub01 | ub03 | codigo de classificacao tributaria do imposto seletivo',
ADD COLUMN isel_vbcis DECIMAL(15, 2) NULL COMMENT 'ub01 | ub04 | valor da base de calculo do imposto seletivo',
ADD COLUMN isel_pis DECIMAL(7, 4) NULL COMMENT 'ub01 | ub06 | aliquota do imposto seletivo em percentual',
ADD COLUMN isel_pisespec DECIMAL(15, 4) NULL COMMENT 'ub01 | ub07 | aliquota especifica ad rem por unidade',
ADD COLUMN isel_utrib VARCHAR(6) NULL COMMENT 'ub01 | ub09 | unidade de medida tributavel',
ADD COLUMN isel_qtrib DECIMAL(15, 4) NULL COMMENT 'ub01 | ub10 | quantidade tributavel',
ADD COLUMN isel_vis DECIMAL(15, 2) NULL COMMENT 'ub01 | ub11 | valor do imposto seletivo',
-- =================================================================
-- 2. GRUPO: IBSCBS (Raiz)
-- Classe ACBr: TIBSCBS
-- =================================================================
ADD COLUMN ibscbs_cst VARCHAR(3) NULL COMMENT 'ub12 | ub13 | codigo de situacao tributaria do ibs e cbs',
ADD COLUMN ibscbs_cclasstrib VARCHAR(6) NULL COMMENT 'ub12 | ub14 | codigo de classificacao tributaria do ibs e cbs',
ADD COLUMN ibscbs_inddoacao VARCHAR(1) NULL COMMENT 'ub12 | ub15 | indicador de doacao',
-- =================================================================
-- 3. SUB-GRUPO: gIBSCBS (Operacao Tributavel Padrao)
-- Classe ACBr: TgIBSCBS
-- =================================================================
ADD COLUMN ibscbs_gibscbs_vbc DECIMAL(15, 2) NULL COMMENT 'ub12 | ub16 | valor da base de calculo do ibs e cbs',
ADD COLUMN ibscbs_gibscbs_vibs DECIMAL(15, 2) NULL COMMENT 'ub12 | ub54a | valor total do ibs soma uf e mun',
-- 3.1. IBS UF (gIBSUF)
ADD COLUMN ibscbs_gibscbs_gibsuf_pibsuf DECIMAL(7, 4) NULL COMMENT 'ub17 | ub18 | aliquota do ibs de competencia da uf',
ADD COLUMN ibscbs_gibscbs_gibsuf_vibsuf DECIMAL(15, 2) NULL COMMENT 'ub17 | ub35 | valor do ibs de competencia da uf',
-- gIBSUF -> gDif
ADD COLUMN ibscbs_gibscbs_gibsuf_gdif_pdif DECIMAL(7, 4) NULL COMMENT 'ub21 | ub22 | percentual do diferimento uf',
ADD COLUMN ibscbs_gibscbs_gibsuf_gdif_vdif DECIMAL(15, 2) NULL COMMENT 'ub21 | ub23 | valor do diferimento uf',
-- gIBSUF -> gDevTrib
ADD COLUMN ibscbs_gibscbs_gibsuf_gdevtrib_vdevtrib DECIMAL(15, 2) NULL COMMENT 'ub24 | ub25 | valor do tributo devolvido uf',
-- gIBSUF -> gRed
ADD COLUMN ibscbs_gibscbs_gibsuf_gred_predaliq DECIMAL(7, 4) NULL COMMENT 'ub26 | ub27 | percentual da reducao de aliquota uf',
ADD COLUMN ibscbs_gibscbs_gibsuf_gred_paliqefet DECIMAL(7, 4) NULL COMMENT 'ub26 | ub28 | aliquota efetiva do ibs uf',
-- 3.2. IBS Municipio (gIBSMun)
ADD COLUMN ibscbs_gibscbs_gibsmun_pibsmun DECIMAL(7, 4) NULL COMMENT 'ub36 | ub37 | aliquota do ibs de competencia do municipio',
ADD COLUMN ibscbs_gibscbs_gibsmun_vibsmun DECIMAL(15, 2) NULL COMMENT 'ub36 | ub54 | valor do ibs de competencia do municipio',
-- gIBSMun -> gDif
ADD COLUMN ibscbs_gibscbs_gibsmun_gdif_pdif DECIMAL(7, 4) NULL COMMENT 'ub40 | ub41 | percentual do diferimento municipio',
ADD COLUMN ibscbs_gibscbs_gibsmun_gdif_vdif DECIMAL(15, 2) NULL COMMENT 'ub40 | ub42 | valor do diferimento municipio',
-- gIBSMun -> gDevTrib
ADD COLUMN ibscbs_gibscbs_gibsmun_gdevtrib_vdevtrib DECIMAL(15, 2) NULL COMMENT 'ub43 | ub44 | valor do tributo devolvido municipio',
-- gIBSMun -> gRed
ADD COLUMN ibscbs_gibscbs_gibsmun_gred_predaliq DECIMAL(7, 4) NULL COMMENT 'ub45 | ub46 | percentual da reducao de aliquota municipio',
ADD COLUMN ibscbs_gibscbs_gibsmun_gred_paliqefet DECIMAL(7, 4) NULL COMMENT 'ub45 | ub47 | aliquota efetiva do ibs municipio',
-- 3.3. CBS (gCBS)
ADD COLUMN ibscbs_gibscbs_gcbs_pcbs DECIMAL(7, 4) NULL COMMENT 'ub55 | ub56 | aliquota da cbs',
ADD COLUMN ibscbs_gibscbs_gcbs_vcbs DECIMAL(15, 2) NULL COMMENT 'ub55 | ub67 | valor da cbs',
-- gCBS -> gDif
ADD COLUMN ibscbs_gibscbs_gcbs_gdif_pdif DECIMAL(7, 4) NULL COMMENT 'ub59 | ub60 | percentual do diferimento cbs',
ADD COLUMN ibscbs_gibscbs_gcbs_gdif_vdif DECIMAL(15, 2) NULL COMMENT 'ub59 | ub61 | valor do diferimento cbs',
-- gCBS -> gDevTrib
ADD COLUMN ibscbs_gibscbs_gcbs_gdevtrib_vdevtrib DECIMAL(15, 2) NULL COMMENT 'ub62 | ub63 | valor do tributo devolvido cbs',
-- gCBS -> gRed
ADD COLUMN ibscbs_gibscbs_gcbs_gred_predaliq DECIMAL(7, 4) NULL COMMENT 'ub64 | ub65 | percentual da reducao de aliquota cbs',
ADD COLUMN ibscbs_gibscbs_gcbs_gred_paliqefet DECIMAL(7, 4) NULL COMMENT 'ub64 | ub66 | aliquota efetiva da cbs',
-- 3.4. Tributacao Regular - ZFM/ALC (gTribRegular)
ADD COLUMN ibscbs_gibscbs_gtribregular_cstreg VARCHAR(3) NULL COMMENT 'ub68 | ub69 | cst padrao sem o beneficio',
ADD COLUMN ibscbs_gibscbs_gtribregular_cclasstribreg VARCHAR(6) NULL COMMENT 'ub68 | ub70 | classificacao tributaria sem o beneficio',
ADD COLUMN ibscbs_gibscbs_gtribregular_paliqefetregibsuf DECIMAL(7, 4) NULL COMMENT 'ub68 | ub71a | aliquota efetiva regular ibs uf',
ADD COLUMN ibscbs_gibscbs_gtribregular_vtribregibsuf DECIMAL(15, 2) NULL COMMENT 'ub68 | ub71b | valor regular ibs uf',
ADD COLUMN ibscbs_gibscbs_gtribregular_paliqefetregibsmun DECIMAL(7, 4) NULL COMMENT 'ub68 | ub72a | aliquota efetiva regular ibs mun',
ADD COLUMN ibscbs_gibscbs_gtribregular_vtribregibsmun DECIMAL(15, 2) NULL COMMENT 'ub68 | ub72b | valor regular ibs mun',
ADD COLUMN ibscbs_gibscbs_gtribregular_paliqefetregcbs DECIMAL(7, 4) NULL COMMENT 'ub68 | ub72c | aliquota efetiva regular cbs',
ADD COLUMN ibscbs_gibscbs_gtribregular_vtribregcbs DECIMAL(15, 2) NULL COMMENT 'ub68 | ub72d | valor regular cbs',
-- 3.5. Compras Governamentais (gTribCompraGov)
ADD COLUMN ibscbs_gibscbs_gtribcompragov_paliqibsuf DECIMAL(7, 4) NULL COMMENT 'ub73 | ub74 | aliquota ibs uf compra gov',
ADD COLUMN ibscbs_gibscbs_gtribcompragov_vtribibsuf DECIMAL(15, 2) NULL COMMENT 'ub73 | ub75 | valor ibs uf compra gov',
ADD COLUMN ibscbs_gibscbs_gtribcompragov_paliqibsmun DECIMAL(7, 4) NULL COMMENT 'ub73 | ub76 | aliquota ibs mun compra gov',
ADD COLUMN ibscbs_gibscbs_gtribcompragov_vtribibsmun DECIMAL(15, 2) NULL COMMENT 'ub73 | ub77 | valor ibs mun compra gov',
ADD COLUMN ibscbs_gibscbs_gtribcompragov_paliqcbs DECIMAL(7, 4) NULL COMMENT 'ub73 | ub78 | aliquota cbs compra gov',
ADD COLUMN ibscbs_gibscbs_gtribcompragov_vtribcbs DECIMAL(15, 2) NULL COMMENT 'ub73 | ub79 | valor cbs compra gov',
-- =================================================================
-- 4. SUB-GRUPO: gIBSCBSMono (Monofasico)
-- Classe ACBr: TgIBSCBSMono
-- =================================================================
-- Totais Monofasico Item
ADD COLUMN ibscbs_gibscbsmono_vtotibsmonoitem DECIMAL(15, 2) NULL COMMENT 'ub84 | ub107 | valor total ibs monofasico item',
ADD COLUMN ibscbs_gibscbsmono_vtotcbsmonoitem DECIMAL(15, 2) NULL COMMENT 'ub84 | ub108 | valor total cbs monofasico item',
-- 4.1. Mono Padrao (gMonoPadrao)
ADD COLUMN ibscbs_gibscbsmono_gmonopadrao_qbcmono DECIMAL(15, 4) NULL COMMENT 'ub85 | ub85 | quantidade tributada na monofasia',
ADD COLUMN ibscbs_gibscbsmono_gmonopadrao_adremibs DECIMAL(7, 4) NULL COMMENT 'ub85 | ub86 | aliquota ad rem do ibs',
ADD COLUMN ibscbs_gibscbsmono_gmonopadrao_adremcbs DECIMAL(7, 4) NULL COMMENT 'ub85 | ub87 | aliquota ad rem da cbs',
ADD COLUMN ibscbs_gibscbsmono_gmonopadrao_vibsmono DECIMAL(15, 2) NULL COMMENT 'ub85 | ub88 | valor do ibs monofasico',
ADD COLUMN ibscbs_gibscbsmono_gmonopadrao_vcbsmono DECIMAL(15, 2) NULL COMMENT 'ub85 | ub89 | valor da cbs monofasica',
-- 4.2. Mono Retencao (gMonoReten)
ADD COLUMN ibscbs_gibscbsmono_gmonoreten_qbcmonoreten DECIMAL(15, 4) NULL COMMENT 'ub90 | ub91 | quantidade tributada sujeita a retencao',
ADD COLUMN ibscbs_gibscbsmono_gmonoreten_adremibsreten DECIMAL(7, 4) NULL COMMENT 'ub90 | ub92 | aliquota ad rem do ibs retencao',
ADD COLUMN ibscbs_gibscbsmono_gmonoreten_adremcbsreten DECIMAL(7, 4) NULL COMMENT 'ub90 | ub93 | aliquota ad rem da cbs retencao',
ADD COLUMN ibscbs_gibscbsmono_gmonoreten_vibsmonoreten DECIMAL(15, 2) NULL COMMENT 'ub90 | ub94 | valor do ibs monofasico retencao',
ADD COLUMN ibscbs_gibscbsmono_gmonoreten_vcbsmonoreten DECIMAL(15, 2) NULL COMMENT 'ub90 | ub95 | valor da cbs monofasica retencao',
-- 4.3. Mono Retido Anteriormente (gMonoRet)
ADD COLUMN ibscbs_gibscbsmono_gmonoret_qbcmonoret DECIMAL(15, 4) NULL COMMENT 'ub96 | ub97 | quantidade tributada retida anteriormente',
ADD COLUMN ibscbs_gibscbsmono_gmonoret_adremibsret DECIMAL(7, 4) NULL COMMENT 'ub96 | ub98 | aliquota ad rem do ibs retido anteriormente',
ADD COLUMN ibscbs_gibscbsmono_gmonoret_adremcbsret DECIMAL(7, 4) NULL COMMENT 'ub96 | ub99 | aliquota ad rem da cbs retido anteriormente',
ADD COLUMN ibscbs_gibscbsmono_gmonoret_vibsmonoret DECIMAL(15, 2) NULL COMMENT 'ub96 | ub100 | valor do ibs monofasico retido anteriormente',
ADD COLUMN ibscbs_gibscbsmono_gmonoret_vcbsmonoret DECIMAL(15, 2) NULL COMMENT 'ub96 | ub101 | valor da cbs monofasica retida anteriormente',
-- 4.4. Mono Diferimento (gMonoDif)
ADD COLUMN ibscbs_gibscbsmono_gmonodif_pdifibs DECIMAL(7, 4) NULL COMMENT 'ub102 | ub103 | percentual diferimento ibs monofasico',
ADD COLUMN ibscbs_gibscbsmono_gmonodif_vibsmonodif DECIMAL(15, 2) NULL COMMENT 'ub102 | ub104 | valor diferimento ibs monofasico',
ADD COLUMN ibscbs_gibscbsmono_gmonodif_pdifcbs DECIMAL(7, 4) NULL COMMENT 'ub102 | ub105 | percentual diferimento cbs monofasico',
ADD COLUMN ibscbs_gibscbsmono_gmonodif_vcbsmonodif DECIMAL(15, 2) NULL COMMENT 'ub102 | ub106 | valor diferimento cbs monofasico',
-- =================================================================
-- 5. SUB-GRUPOS ESPECIAIS
-- =================================================================
-- 5.1. Transferencia de Credito (gTransfCred)
ADD COLUMN ibscbs_gtransfcred_vibs DECIMAL(15, 2) NULL COMMENT 'ub109 | ub110 | valor ibs transferencia',
ADD COLUMN ibscbs_gtransfcred_vcbs DECIMAL(15, 2) NULL COMMENT 'ub109 | ub111 | valor cbs transferencia',
-- 5.2. Ajuste de Competencia (gAjusteCompet)
ADD COLUMN ibscbs_gajustecompet_competapur DATE NULL COMMENT 'ub112 | ub113 | data competencia apuracao',
ADD COLUMN ibscbs_gajustecompet_vibs DECIMAL(15, 2) NULL COMMENT 'ub112 | ub114 | valor ibs ajuste',
ADD COLUMN ibscbs_gajustecompet_vcbs DECIMAL(15, 2) NULL COMMENT 'ub112 | ub115 | valor cbs ajuste',
-- 5.3. Estorno de Credito (gEstornoCred)
ADD COLUMN ibscbs_gestornocred_vibsestcred DECIMAL(15, 2) NULL COMMENT 'ub116 | ub118 | valor estorno credito ibs',
ADD COLUMN ibscbs_gestornocred_vcbsestcred DECIMAL(15, 2) NULL COMMENT 'ub116 | ub119 | valor estorno credito cbs',
-- 5.4. Credito Presumido Operacional (gCredPresOper)
ADD COLUMN ibscbs_gcredpresoper_ccredpres VARCHAR(2) NULL COMMENT 'ub120 | ub122 | codigo de classificacao do credito presumido',
ADD COLUMN ibscbs_gcredpresoper_vbccredpres DECIMAL(15, 2) NULL COMMENT 'ub120 | ub123 | valor da base de calculo do credito presumido',
-- gCredPresOper -> gIBSCredPres
ADD COLUMN ibscbs_gcredpresoper_gibscredpres_pcredpres DECIMAL(7, 4) NULL COMMENT 'ub123 | ub124 | percentual credito presumido ibs',
ADD COLUMN ibscbs_gcredpresoper_gibscredpres_vcredpres DECIMAL(15, 2) NULL COMMENT 'ub123 | ub125 | valor credito presumido ibs',
ADD COLUMN ibscbs_gcredpresoper_gibscredpres_vcredprescondsus DECIMAL(15, 2) NULL COMMENT 'ub123 | ub126 | valor credito presumido condicao suspensiva ibs',
-- gCredPresOper -> gCBSCredPres
ADD COLUMN ibscbs_gcredpresoper_gcbscredpres_pcredpres DECIMAL(7, 4) NULL COMMENT 'ub127 | ub128 | percentual credito presumido cbs',
ADD COLUMN ibscbs_gcredpresoper_gcbscredpres_vcredpres DECIMAL(15, 2) NULL COMMENT 'ub127 | ub129 | valor credito presumido cbs',
ADD COLUMN ibscbs_gcredpresoper_gcbscredpres_vcredprescondsus DECIMAL(15, 2) NULL COMMENT 'ub127 | ub130 | valor credito presumido condicao suspensiva cbs',
-- 5.5. Credito Presumido ZFM (gCredPresIBSZFM)
ADD COLUMN ibscbs_gcredpresibszfm_competapur DATE NULL COMMENT 'ub131 | ub132 | data competencia apuracao zfm',
ADD COLUMN ibscbs_gcredpresibszfm_tpcredpresibszfm VARCHAR(2) NULL COMMENT 'ub131 | ub133 | tipo de credito presumido ibs zfm',
ADD COLUMN ibscbs_gcredpresibszfm_vcredpresibszfm DECIMAL(15, 2) NULL COMMENT 'ub131 | ub134 | valor credito presumido ibs zfm',
-- 5.6. Indicador de Bem Movel Usado
ADD COLUMN ind_bem_movel_usado VARCHAR(1) NULL COMMENT 'i17c | E | indicador de bem movel usado';