Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Informações
titleInformação

Todos os tributo enviado tributos que terão os seus valores atribuídos pela classe precisam estar previamente cadastrados no Configurador de Tributos (FISA170), e em seu cadastro conter os Operandos de integração seguindo as Regras do Operando de Integração

...

Bloco de código
languagejs
themeMidnight
titleExemplo método new
usingUsing Namespace totvs.protheus.backoffice.fiscal.taxoperandintegrator   
 
Function Exemplo()
    Local oIntegrador as Json
     oIntegrador oIntegrador   := TaxOperandIntegrator():New()
Return

...

Informações
titleInformação

A classe segue os mesmo princípios do motor de calculo, MATXFIS, sendo assim, os tributos são atualizados por item. Ou seja, cada item terá um tributo ou n tributos.

Novos tributos

Os novos tributos (tributos da reforma), obrigatoriamente precisam conter a seguinte estrutura:

...

Bloco de código
languagejs
themeMidnight
titleExemplo estrutura Json Novos Tributos
    numero_item
		|_id_tributo
			|_base_valor
		 	|_base_quantidade
        	|_base_um
        	|_aliquota
        	|_valor
        	|_esc_CST
        	|_esc_CCT
        	|_esc_vl_tributado
        	|_esc_vl_isento
        	|_esc_vl_outros
        	|_esc_vl_diferido
        	|_esc_pc_diferido
        	|_esc_pc_reducao_base
        	|_esc_base_original
        	|_esc_pc_reducao_aliq
        	|_esc_aliquota_original

Composição JSON

Bloco de código
languagejs
themeMidnight
titleExemplo JSON
 {
    "1": {
      "000062": {
        "base_valor": 0,
        "base_quantidade": 10000,
        "base_um": "UM",
        "aliquota": 10,
        "valor": 500,
        "esc_CST": "000",
        "esc_CCT": "003",
        "esc_vl_tributado": 6.55,
        "esc_vl_isento": 0.00,
        "esc_vl_outros": 0.00,
        "esc_vl_diferido": 0.00,
        "esc_pc_diferido": 0,
        "esc_pc_reducao_base": 0,
        "esc_base_original": 0,
        "esc_pc_reducao_aliq": 0,
        "esc_aliquota_original": 0.00
      	}
   	}
}

...

Propriedades do Tributo (F2D)

PropriedadeDescriçãoTypeObrigatório?
base_valor

Valor da base do imposto

number

Sim

base_quantidadeValor da base quando é operação com quantidadenumberNão*
base_umUnidade de medidacharacterNão*
aliquotaAlíquota do tributonumberSim
valorValor do impostonumberSim

Propriedades de escrituração (CJ3)

PropriedadeDescriçãoTypeObrigatório?
esc_CSTClassificação fiscalcharacterNão
esc_CCTCCT IBS/CBScharacterNão
esc_vl_tributadoValor tributadonumberSim
esc_vl_isentoValor isentonumberSim
esc_vl_outrosValor outrosnumberSim

esc_vl_diferido

Valor diferidonumberNão

esc_pc_diferido

Percentual do diferimentonumberNão

esc_pc_reducao_base

Percentual da reduçãonumberNão

esc_basebase_original

Base originalnumberNão

esc_pc_reducao_aliq

Percentual de redução de alíquotanumberNão

esc_aliquota_original

Alíquota originalnumberNão
Base quantidade

* Em casos onde é necessário enviar o valor da base por quantidade é obrigatório o envio de todas as propriedades do tributo, sendo necessário também o preenchimento da propriedade base_um.

Tributos legados

Para o funcionamento correto, os tributos legados (tributos correntes atualmente, antes da reforma) precisam ter pelo menos a seguinte estrutura:

...

Propriedades do Tributo (F2D)

PropriedadeDescriçãoTypeObrigatório?
base_valor

Valor da base do imposto

number

Sim

base_quantidadeValor da base quando é operação com quantidadenumberNão*
basebase_umUnidade de medida (preenchimento obrigatório caso haja valor na propriedade base_quantidade)characterNão*
aliquotaAlíquota do tributonumberSim
valorValor do impostonumber
Base quantidade

Em casos onde é necessário enviar o valor da base por quantidade é obrigatório o envio de todas as propriedades do tributo, sendo necessário também o preenchimento da propriedade base_um, exemplo:

Sim

mva

Índice de cálculo MVAnumberNão

aux_mva

Índice de cálculo auxiliar do MVAnumberNão

pauta

PautanumberNão

vl_majorado

Percentual de MajoraçãonumberNão

aux_majoracao

Indice auxiliar do percentual de majorçãonumberNão

vl_majoracao

Valor MajoraçãonumberNão

pc_majorcao

Alíquota MajoraçãonumberNão

aliquota_tribut

Alíquota do Tributo por regra de NCMnumberNão

ded_dep

Dedução por dependentesnumberNão
Base quantidade

* Em casos onde é necessário enviar o valor da base por quantidade é obrigatório o envio de todas as propriedades do tributo, sendo necessário também o preenchimento da propriedade base_um, exemplo:

Bloco de código
languagejs
themeMidnight
titleEstrutura com base_valor, base_quantidade e base um
    numero_item
		|_id_tributo
			|_base_valor
		 	|_base_quantidade
Bloco de código
languagejs
themeMidnight
titleEstrutura com base_valor, base_quantidade e base um
    numero_item
		|_id_tributo
			|_base_valor
		 	|_base_quantidade
        	|_base_um
        	|_aliquota
        	|_base_um
        	|_aliquota
        	|_valor 


Composição JSON
Bloco de código
languagejs
themeMidnight
 {
    "1": {
      "000062000021": {
        "base_valor": 0,
        "base_quantidade": 10000,
        "base_um": "UM",
        "aliquota": 10,
        "valor": 500,            
		}
    }
}

Propriedades de escrituração (CJ3)

PropriedadeDescriçãotypeObrigatório?

esc_tab_CST

Tabela CSTcharacterNão
esc_CSTCSTcharacterNão
esc_vl_tributadoValor tributadonumberSim
esc_vl_isentoValor isentonumberSim
esc_vl_outrosValor outrosnumberSim

esc_vl_diferido

Valor diferidonumberNão

esc_pc_diferido

Percentual do diferimentonumberNão

esc_pc_reducao_base

Percentual da reduçãonumberNão

esc_base_original

Base originalnumberNão

esc_pc_reducao_aliq

Percentual de redução de alíquotanumberNão

esc_aliquota_original

Alíquota originalnumberNão

Escrituração

Em casos onde é necessário enviar a escrituração é obrigatório que todas as propriedades de escrituração estejam no JSON:

...

Bloco de código
languagejs
themeMidnight
titleEstrutura completa JSON Tributo legado
    numero_item
		|_id_tributo
			|_base_valor
		 	|_base_quantidade
        	|_base_um
        	|_aliquota
        	|_valor
        		 	|_mva
			|_tabaux_CST
        mva
			|_CST
        pauta
			|_vl_tributado
majorado
			|_aux_majoracao
			|_vl_majoracao
			|_pc_majorcao
			|_aliquota_tribut
			|_ded_dep 
            	|_esc_vltab_isentoCST
        	|_esc_CST
        	|_esc_vl_outrostributado
        	|_esc_vl_diferidoisento
        	|_pcesc_vl_diferidooutros
        	|_pcesc_reducaovl_basediferido
        	|_esc_basepc_originaldiferido
        	|_esc_pc_reducao_aliqbase
        	|_aliquota_original
Composição JSON
esc_base_original
        	|_esc_pc_reducao_aliq
        	|_esc_aliquota_original
Composição JSON
Bloco de códigocode
languagejs
themeMidnight
titleExemplo
 {
    "1": {
      "000062000021": {
        "base_valor": 0,
        "base_quantidade": 10000,
        "base_um": "UM",
        "aliquota": 10,
        "valor": 500,
        "tab_CST		"mva": "000001"0,
        "CST		"aux_mva": 0,
		"001pauta" : 0,
        		"vl_tributadomajorado": 6.550,
        "vl_isento		"aux_majoracao": 0.00,
        "vl_outros		"vl_majoracao": 0,
		"pc_majorcao": 0,
		"aliquota_tribut": 0.00,
        "vl_diferido		"ded_dep": 0.00,
        "pcesc_tab_diferidoCST": 0"000001",
        "pcesc_reducao_baseCST": 0"001",
        "baseesc_vl_originaltributado": 06.55,
        "pcesc_reducaovl_aliqisento": 0.00,
        "aliquotaesc_vl_originaloutros": 0.00,
        	}"esc_vl_diferido": 0.00,
   	}
} 

05. REGRAS OPERANDOS DE INTEGRAÇAO

Novos tributos

Para que a integração funcione é necessário que o Operandos de integração esteja configurado nas seguintes regras:

  • Regra de Base
  • Regra de Alíquota
  • Regra de Escrituração
  • Regra de Cálculo

Caso alguma dessas configurações não esteja de acordo será retornada uma mensagem de warning e o processamento será interrompido.

...

     "esc_pc_diferido": 0,
        "esc_pc_reducao_base": 0,
        "esc_base_original": 0,
        "esc_pc_reducao_aliq": 0,
        "esc_aliquota_original": 0.00
      	}
   	}
} 

05. REGRAS OPERANDOS DE INTEGRAÇAO

Para que a integração funcione é necessário que o Operando de integração esteja configurado nas seguintes regras:

  • Regra de Base
  • Regra de Alíquota
  • Regra de Cálculo

No caso da Regra de Escrituração ela só será necessária, caso no JSON, seja informada alguma propriedade de escrituração. Caso o contrário a classe respeitará a regra de escrituração amarrada ao tributo, se houver.

...