Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagejs
themeMidnight
titleExemplo método ProcessItemTaxJson
using totvs.protheus.backoffice.fiscal.taxoperandintegrator
 
Function Exemplo()
	Local oIntegrador   as Object
    Local jDadosTributo as Json
    Local cRetorno      as Character
    
    // Inicializa o integrador
    oIntegrador := TaxOperandIntegrator():New()
    
    // Monta o JSON com dados dos tributos
    jDadosTributo := { "1": { ;
        "TRIB01": { ;
            "base_valor": 1000.00, ;
            "aliquota": 18.00, ;
            "valor": 180.00, ;
            "CST": "00" ;
        } ;
    } }
    
    // Processa os tributos
    cRetorno := oIntegrador:ProcessItemTaxJson(jDadosTributo)
Return

...

Propriedades do Tributo (F2D)

PropriedadeDescriçãoType
base_valor

Valor da base do imposto

number

base_quantidadeValor da base quando é operação com quantidadenumber
base_umUnidade de medida (preenchimento obrigatório caso haja valor na propriedade base_quantidade)character
aliquotaAlíquota do tributonumber
valorValor do impostonumber

Propriedades de escrituração (CJ3)

PropriedadeDescriçãoType
CSTClassificação fiscalcharacter
CCTCCT IBS/CBScharacter
vl_tributadoValor tributadonumber
vl_isentoValor isentonumber
vl_outrosValor outrosnumber

vl_diferido

Valor diferidonumber

pc_diferido

Percentual do diferimentonumber

pc_reducao_base

Percentual da reduçãonumber

base_original

Base originalnumber

pc_reducao_aliq

Percentual de redução de alíquotanumber

aliquota_original

Alíquota originalnumber
Aviso
titleAtenção

A classe TaxOperandIntegrator tem  por objetivo preencher as referencias internas do configurador de tributos, sendo assim, mesmo que a propriedade tenha o conteúdo zero ou vazio precisa ser informado, pois se tratando de uma integração para recepção dos tributos e seus respectivos valores não é possível presumir o valor.

...

Propriedades do Tributo (F2D)

PropriedadeDescriçãoType
base_valor

Valor da base do imposto

number

base_quantidadeValor da base quando é operação com quantidadenumber
base_umUnidade de medida (preenchimento obrigatório caso haja valor na propriedade base_quantidade)character
aliquotaAlíquota do tributonumber
valorValor do impostonumber

Propriedades de escrituração (CJ3)

PropriedadeDescriçãotype

tab_CST

Tabela CSTcharacter
CSTCSTcharacter
vl_tributadoValor tributadonumber
vl_isentoValor isentonumber
vl_outrosValor outrosnumber

vl_diferido

Valor diferidonumber

pc_diferido

Percentual do diferimentonumber

pc_reducao_base

Percentual da reduçãonumber

base_original

Base originalnumber

pc_reducao_aliq

Percentual de redução de alíquotanumber

aliquota_original

Alíquota originalnumber

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
titleExemplo
 {
    "1": {
      "000062": {
        "base_valor": 0,
        "base_quantidade": 10000,
        "base_um": "UM",
        "aliquota": 10,
        "valor": 500,
        "tab_CST": "000001",
        "CST": "001",
        "vl_tributado": 6.55,
        "vl_isento": 0.00,
        "vl_outros": 0.00,
        "vl_diferido": 0.00,
        "pc_diferido": 0,
        "pc_reducao_base": 0,
        "base_original": 0,
        "pc_reducao_aliq": 0,
        "aliquota_original": 0.00
      	}
   	}
} 

05.

...

REGRAS OPERANDOS DE INTEGRAÇAO

Novos tributos

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 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.

Tributos legados

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 alguma dessas configurações não esteja de acordo será retornada uma mensagem de warning e o processamento será interrompido.