Árvore de páginas

01. DADOS GERAIS

Produto:

TOTVS Varejo Supermercados

Linha de Produto:

Supermercados - Linha RMS

Segmento:

Varejo

Módulo:PDV
Função:Integração PDV
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :TMN-7417
TMN-7416


02. SITUAÇÃO/REQUISITO

Reforma Tributária traz novidades que promete modernizar o sistema fiscal do país. Uma das mudanças será a criação e unificação de impostos, que podem ser conferidos na sequência:

    • IBS (Imposto sobre Bens e Serviços): imposto estadual e municipal que substitui tributos como ICMS e ISS.
    • CBS (Contribuição sobre Bens e Serviços): imposto federal aplicado em operações com bens e serviços.
    • IS (Imposto Seletivo): imposto federal focado em produtos específicos.

Necessário adequar a PC_RMS_CAL para enviar / receber novos campos de parâmetros e retorno do motor tributário.

03. SOLUÇÃO

Efetuado ajustes no WebService PDV Padrão para os novos valores de retorno do Motor Tributário.

Alteração na tabela PDV_ITEM_RFTRB, adicionando os campos para guardar os novos valores.


04. DEMAIS INFORMAÇÕES

Alterações na Tabela PDV_ITEM_RFTRB:

Novos Campos:

-- Novos campos da Reforma Tributária
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_CCLASSTRIBREGULAR   varchar2(6);
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_CST_REGULAR         number(3);
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_VLRIMPOSTOREGULAR   number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_PERALIQREGULAR      number(7,4);  
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_CCREDPRES           varchar2(2); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_VLRIMPOSTOMONORET   number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_VLRBASEMONORET      number(17,4);
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_CR_PRES_RED         number(7,4);
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_VLRIMPOSTOINTEGRAL  number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_INDMONOFASICO       varchar2(1);   
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_INDDIFERIDO         varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSUF_INDREGULAR          varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_CCLASSTRIBREGULAR  varchar2(6);
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_CST_REGULAR        number(3);
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_VLRIMPOSTOREGULAR  number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_PERALIQREGULAR     number(7,4);  
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_CCREDPRES          varchar2(2); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_VLRIMPOSTOMONORET  number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_VLRBASEMONORET     number(17,4);
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_CR_PRES_RED        number(7,4);
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_VLIMPOSTOINTEGRAL  number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_INDMONOFASICO      varchar2(1);   
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_INDDIFERIDO        varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_IBSMUN_INDREGULAR         varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_CBS_CCLASSTRIBREGULAR     varchar2(6);
alter table PDV_ITEM_RFTRB add PDVCT_CBS_CST_REGULAR           number(3);
alter table PDV_ITEM_RFTRB add PDVCT_CBS_VLRIMPOSTOREGULAR     number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_CBS_PERALIQREGULAR        number(7,4);  
alter table PDV_ITEM_RFTRB add PDVCT_CBS_CCREDPRES             varchar2(2); 
alter table PDV_ITEM_RFTRB add PDVCT_CBS_VLRIMPOSTOMONORET     number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_CBS_VLRBASEMONORET        number(17,4);
alter table PDV_ITEM_RFTRB add PDVCT_CBS_CR_PRES_RED           number(7,4);
alter table PDV_ITEM_RFTRB add PDVCT_CBS_VLRIMPOSTOINTEGRAL    number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_CBS_INDMONOFASICO         varchar2(1);       
alter table PDV_ITEM_RFTRB add PDVCT_CBS_INDDIFERIDO           varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_CBS_INDREGULAR            varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_IS_CCLASSTRIBREGULAR      varchar2(6);
alter table PDV_ITEM_RFTRB add PDVCT_IS_CST_REGULAR            number(3);
alter table PDV_ITEM_RFTRB add PDVCT_IS_VLRIMPOSTOREGULAR      number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IS_PERALIQREGULAR         number(7,4);  
alter table PDV_ITEM_RFTRB add PDVCT_IS_CCREDPRES              varchar2(2); 
alter table PDV_ITEM_RFTRB add PDVCT_IS_VLRIMPOSTOMONORET      number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IS_VLRBASEMONORET         number(17,4);
alter table PDV_ITEM_RFTRB add PDVCT_IS_CR_PRES_RED            number(7,4);
alter table PDV_ITEM_RFTRB add PDVCT_IS_VLRIMPOSTOINTEGRAL     number(17,4); 
alter table PDV_ITEM_RFTRB add PDVCT_IS_INDMONOFASICO          varchar2(1);
alter table PDV_ITEM_RFTRB add PDVCT_IS_INDDIFERIDO            varchar2(1); 
alter table PDV_ITEM_RFTRB add PDVCT_IS_INDREGULAR             varchar2(1); 



Alterações no WebService:

    1. Atualização do objeto NFCeSATItemRFTributariaDTO:

      using System;
      using System.Runtime.Serialization;

      namespace RMS.PDV.WS.Util.Entidades
      {
          /// <summary>
          /// Classe referente a entidade dos itens da NFCe na base de dados do RMS Retail.
          /// </summary>

          [DataContract]
          public class NFCeSATItemRFTributariaDTO
          {
              public NFCeSATItemRFTributariaDTO()
              {

              }

              /// <summary>
              /// pdvct_id         number(15)    y        identificador da nf
              /// </summary>
              [DataMember]
              public long ID_NFCe { get; set; }

              /// <summary>
              /// pdvci_seq        number(6)           seq|sequencial
              /// </summary>
              [DataMember]
              public int Sequencial { get; set; }

              /// <summary>
              /// pdvct_ibsuf_cst        number(5)     ibsuf cst|ibsuf cst
              /// </summary>
              [DataMember]
              public int ibsuf_cst { get; set; }

              /// <summary>
              /// pdvct_ibsuf_clatrib    varchar2(20)      ibsuf clatrib |ibsuf - classificacao tributaria
              /// </summary>
              [DataMember]
              public string ibsuf_clatrib { get; set; }

              /// <summary>
              /// pdvct_ibsuf_base_calc    number(17,4)    ibsuf base|ibsuf - base de calculo
              /// </summary>
              [DataMember]
              public decimal ibsuf_base_calc { get; set; }

              /// <summary>
              /// pdvct_ibsuf_aliq_perc    number(7,4)    ibsuf alq.|ibsuf - aliquota percentual
              /// </summary>
              [DataMember]
              public decimal ibsuf_aliq_perc { get; set; }

              /// <summary>
              /// pdvct_ibsuf_aliq_val    number(17,4)    ibsuf alqv|ibsuf - aliquota em valor
              /// </summary>
              [DataMember]
              public decimal ibsuf_aliq_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_valor    number(17,4)    ibsuf valor|ibsuf - valor do tributo

              /// </summary>
              [DataMember]
              public decimal ibsuf_valor { get; set; }

              /// <summary>
              /// pdvct_ibsuf_devol_val    number(17,4)    ibsuf vldev|ibsuf - valor de devolucao do tributo
              /// </summary>
              [DataMember]
              public decimal ibsuf_devol_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_cr_pres_alq    number(7,4)    ibsuf al.crpres|ibsuf - aliquota do credito presumido
              /// </summary>
              [DataMember]
              public decimal ibsuf_cr_pres_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_cr_pres_val    number(17,4)    ibsuf vl.crpres|ibsuf - valor do credito presumido
              /// </summary>
              [DataMember]
              public decimal ibsuf_cr_pres_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_diferido_alq    number(7,4)    ibsuf al.difer|ibsuf - aliquota do diferimento
              /// </summary>
              [DataMember]
              public decimal ibsuf_diferido_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_diferido_val    number(17,4)    ibsuf vl.difer|ibsuf - valor do diferimento
              /// </summary>
              [DataMember]
              public decimal ibsuf_diferido_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_reduz_alq    number(7,4)    ibsuf al.red|ibsuf - reduçao de aliquota
              /// </summary>
              [DataMember]
              public decimal ibsuf_reduz_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_efet_alq    number(7,4)    ibsuf al.efet|ibsuf - aliquota efetiva
              /// </summary>
              [DataMember]
              public decimal ibsuf_efet_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_desonerado_bas    number(17,4)    ibsuf bs.deson|ibsuf - base de calculo do desonerado
              /// </summary>
              [DataMember]
              public decimal ibsuf_desonerado_bas { get; set; }

              /// <summary>
              /// pdvct_ibsuf_desonerado_val    number(17,4)    ibsuf vl.deson|ibsuf - valor do desonerado
              /// </summary>
              [DataMember]
              public decimal ibsuf_desonerado_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_desonerado_alq    number(7,4)    ibsuf vl.deson|ibsuf - valor do desonerado
              /// </summary>
              [DataMember]
              public decimal ibsuf_desonerado_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_qtd    number(11,4)    ibsuf qt.mono|ibsuf - quantidade de monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_qtd { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_alq    number(7,4)    ibsuf al.mono|ibsuf - aliquota ad rem do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_val    number(17,4)    ibsuf vl.mono|ibsuf - valor do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_qtd_ret    number(11,4)    ibsuf qt.monret|ibsuf - quantidade de monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_qtd_ret { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_alq_ret    number(7,4)    ibsuf al.monret|ibsuf - aliquota de retencao do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_alq_ret { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_val_ret    number(17,4)    ibsuf vl.monret|ibsuf - valor do monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_val_ret { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_cr_pres_alq    number(7,4)    ibsuf al.moncrp|ibsuf - aliquota do credito presumido do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_cr_pres_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_cr_pres_val    number(17,4)    ibsuf vl.moncrp|ibsuf - valor do credito presumido do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_cr_pres_val { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_diferido_alq    number(7,4)    ibsuf al.mondif|ibsuf - aliquota do diferimento do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_diferido_alq { get; set; }

              /// <summary>
              /// pdvct_ibsuf_mono_diferido_val    number(17,4)    ibsuf vl.mondif|ibsuf - valor do diferimento do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsuf_mono_diferido_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_cst    number(5)    ibsmun cst |ibsmun - cst
              /// </summary>
              [DataMember]
              public int ibsmun_cst { get; set; }

              /// <summary>
              /// pdvct_ibsmun_clatrib    varchar2(20)    ibsmun clatrib |ibsmun - classificacao tributaria
              /// </summary>
              [DataMember]
              public string ibsmun_clatrib { get; set; }

              /// <summary>
              /// pdvct_ibsmun_base_calc    number(17,4)    ibsmun base|ibsmun - base de calculo
              /// </summary>
              [DataMember]
              public decimal ibsmun_base_calc { get; set; }

              /// <summary>
              /// pdvct_ibsmun_aliq_perc    number(7,4)    ibsmun alq.|ibsmun - aliquota percentual
              /// </summary>
              [DataMember]
              public decimal ibsmun_aliq_perc { get; set; }

              /// <summary>
              /// pdvct_ibsmun_aliq_val    number(17,4)    ibsmun alqv|ibsmun - aliquota em valor
              /// </summary>
              [DataMember]
              public decimal ibsmun_aliq_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_valor    number(17,4)    ibsmun valor|ibsmun - valor do tributo
              /// </summary>
              [DataMember]
              public decimal ibsmun_valor { get; set; }

              /// <summary>
              /// pdvct_ibsmun_devol_val    number(17,4)    ibsmun vldev|ibsmun - valor de devolucao do tributo
              /// </summary>
              [DataMember]
              public decimal ibsmun_devol_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_cr_pres_alq    number(7,4)    ibsmun al.crpres|ibsmun - aliquota do credito presumido
              /// </summary>
              [DataMember]
              public decimal ibsmun_cr_pres_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_cr_pres_val    number(17,4)    ibsmun vl.crpres|ibsmun - valor do credito presumido
              /// </summary>
              [DataMember]
              public decimal ibsmun_cr_pres_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_diferido_alq    number(7,4)    ibsmun al.difer|ibsmun - aliquota do diferimento
              /// </summary>
              [DataMember]
              public decimal ibsmun_diferido_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_diferido_val    number(17,4)    ibsmun vl.difer|ibsmun - valor do diferimento
              /// </summary>
              [DataMember]
              public decimal ibsmun_diferido_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_reduz_alq    number(7,4)    ibsmun al.red|ibsmun - reduçao de aliquota
              /// </summary>
              [DataMember]
              public decimal ibsmun_reduz_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_efet_alq    number(7,4)    ibsmun al.efet|ibsmun - aliquota efetiva
              /// </summary>
              [DataMember]
              public decimal ibsmun_efet_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_desonerado_bas    number(17,4)    ibsmun bs.deson|ibsmun - base de calculo do desonerado
              /// </summary>
              [DataMember]
              public decimal ibsmun_desonerado_bas { get; set; }

              /// <summary>
              /// pdvct_ibsmun_desonerado_alq    number(7,4)    ibsmun al.deson|ibsmun - aliquota do desonerado
              /// </summary>
              [DataMember]
              public decimal ibsmun_desonerado_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_desonerado_val    number(17,4)    ibsmun vl.deson|ibsmun - valor do desonerado
              /// </summary>
              [DataMember]
              public decimal ibsmun_desonerado_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_qtd    number(11,4)    ibsmun qt.mono|ibsmun - quantidade de monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_qtd { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_alq    number(7,4)    ibsmun al.mono|ibsmun - aliquota ad rem do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_val    number(17,4)    ibsmun vl.mono|ibsmun - valor do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_qtd_ret    number(11,4)    ibsmun qt.monret|ibsmun - quantidade de monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_qtd_ret { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_alq_ret    number(7,4)    ibsmun al.monret|ibsmun - aliquota de retencao do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_alq_ret { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_val_ret    number(17,4)    ibsmun vl.monret|ibsmun - valor do monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_val_ret { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_cr_pres_alq    number(7,4)    ibsmun al.moncrp|ibsmun - aliquota do credito presumido do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_cr_pres_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_cr_pres_val    number(17,4)    ibsmun vl.moncrp|ibsmun - valor do credito presumido do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_cr_pres_val { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_diferido_alq    number(7,4)    ibsmun al.mondif|ibsmun - aliquota do diferimento do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_diferido_alq { get; set; }

              /// <summary>
              /// pdvct_ibsmun_mono_diferido_val    number(17,4)    ibsmun vl.mondif|ibsmun - valor do diferimento do monofasico
              /// </summary>
              [DataMember]
              public decimal ibsmun_mono_diferido_val { get; set; }

              /// <summary>
              /// pdvct_cbs_cst    number(5)    cbs cst |cbs - cst
              /// </summary>
              [DataMember]
              public int cbs_cst { get; set; }

              /// <summary>
              /// pdvct_cbs_clatrib    varchar2(20)    cbs clatrib |cbs - classificacao tributaria
              /// </summary>
              [DataMember]
              public string cbs_clatrib { get; set; }

              /// <summary>
              /// pdvct_cbs_base_calc    number(17,4)    cbs base|cbs - base de calculo
              /// </summary>
              [DataMember]
              public decimal cbs_base_calc { get; set; }

              /// <summary>
              /// pdvct_cbs_aliq_perc    number(7,4)    cbs alq.|cbs - aliquota percentual
              /// </summary>
              [DataMember]
              public decimal cbs_aliq_perc { get; set; }

              /// <summary>
              /// pdvct_cbs_aliq_val    number(17,4)    cbs alqv|cbs - aliquota em valor
              /// </summary>
              [DataMember]
              public decimal cbs_aliq_val { get; set; }

              /// <summary>
              /// pdvct_cbs_valor    number(17,4)    cbs valor|cbs - valor do tributo
              /// </summary>
              [DataMember]
              public decimal cbs_valor { get; set; }

              /// <summary>
              /// pdvct_cbs_devol_val    number(17,4)    cbs vldev|cbs - valor de devolucao do tributo
              /// </summary>
              [DataMember]
              public decimal cbs_devol_val { get; set; }

              /// <summary>
              /// pdvct_cbs_cr_pres_alq    number(7,4)    cbs al.crpres|cbs - aliquota do credito presumido
              /// </summary>
              [DataMember]
              public decimal cbs_cr_pres_alq { get; set; }

              /// <summary>
              /// pdvct_cbs_cr_pres_val    number(17,4)    cbs vl.crpres|cbs - valor do credito presumido
              /// </summary>
              [DataMember]
              public decimal cbs_cr_pres_val { get; set; }

              /// <summary>
              /// pdvct_cbs_diferido_alq    number(7,4)    cbs al.difer|cbs - aliquota do diferimento
              /// </summary>
              [DataMember]
              public decimal cbs_diferido_alq { get; set; }

              /// <summary>
              /// pdvct_cbs_diferido_val    number(17,4)    cbs vl.difer|cbs - valor do diferimento
              /// </summary>
              [DataMember]
              public decimal cbs_diferido_val { get; set; }

              /// <summary>
              /// pdvct_cbs_reduz_alq    number(7,4)    cbs al.red|cbs - reduçao de aliquota
              /// </summary>
              [DataMember]
              public decimal cbs_reduz_alq { get; set; }

              /// <summary>
              /// pdvct_cbs_efet_alq    number(7,4)    cbs al.efet|cbs - aliquota efetiva
              /// </summary>
              [DataMember]
              public decimal cbs_efet_alq { get; set; }

              /// <summary>
              /// pdvct_cbs_desonerado_bas    number(17,4)    cbs bs.deson|cbs - base de calculo do desonerado
              /// </summary>
              [DataMember]
              public decimal cbs_desonerado_bas { get; set; }

              /// <summary>
              /// pdvct_cbs_desonerado_alq    number(7,4)    cbs al.deson|cbs - aliquota do desonerado
              /// </summary>
              [DataMember]
              public decimal cbs_desonerado_alq { get; set; }

              /// <summary>
              /// pdvct_cbs_desonerado_val    number(17,4)    cbs vl.deson|cbs - valor do desonerado
              /// </summary>
              [DataMember]
              public decimal cbs_desonerado_val { get; set; }

              /// <summary>
              /// pdvct_cbs_mono_qtd    number(11,4)    cbs qt.mono|cbs - quantidade de monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_qtd { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_alq    number(7,4)    cbs al.mono|cbs - aliquota ad rem do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_alq { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_val    number(17,4)    cbs vl.mono|cbs - valor do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_val { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_qtd_ret    number(11,4)    cbs qt.monret|cbs - quantidade de monofasico retido
              /// </summary>
              [DataMember]
              public decimal cbs_mono_qtd_ret { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_alq_ret    number(7,4)    cbs al.monret|cbs - aliquota de retencao do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_alq_ret { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_val_ret    number(17,4)    cbs vl.monret|cbs - valor do monofasico retido
              /// </summary>
              [DataMember]
              public decimal cbs_mono_val_ret { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_cr_pres_alq    number(7,4)    cbs al.moncrp|cbs - aliquota do credito presumido do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_cr_pres_alq { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_cr_pres_val    number(17,4)    cbs vl.moncrp|cbs - valor do credito presumido do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_cr_pres_val { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_diferido_alq    number(7,4)    cbs al.mondif|cbs - aliquota do diferimento do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_diferido_alq { get; set; }

              /// <summary>
              ///pdvct_cbs_mono_diferido_val    number(17,4)    cbs vl.mondif|cbs - valor do diferimento do monofasico
              /// </summary>
              [DataMember]
              public decimal cbs_mono_diferido_val { get; set; }

              /// <summary>
              ///pdvct_is_cst    number(5)    is cst |is - cst
              /// </summary>
              [DataMember]
              public int is_cst { get; set; }

              /// <summary>
              ///pdvct_is_clatrib    varchar2(20)    is clatrib |is - classificacao tributaria
              /// </summary>
              [DataMember]
              public string is_clatrib { get; set; }

              /// <summary>
              ///pdvct_is_base_calc    number(17,4)    is base|is - base de calculo
              /// </summary>
              [DataMember]
              public decimal is_base_calc { get; set; }

              /// <summary>
              ///pdvct_is_aliq_perc    number(7,4)    is alq.|is - aliquota percentual
              /// </summary>
              [DataMember]
              public decimal is_aliq_perc { get; set; }

              /// <summary>
              ///pdvct_is_aliq_val    number(17,4)    is alqv|is - aliquota em valor
              /// </summary>
              [DataMember]
              public decimal is_aliq_val { get; set; }

              /// <summary>
              ///pdvct_is_valor    number(17,4)    is valor|is - valor do tributo
              /// </summary>
              [DataMember]
              public decimal is_valor { get; set; }

              /// <summary>
              ///pdvct_is_devol_val    number(17,4)    is vldev|is - valor de devolucao do tributo
              /// </summary>
              [DataMember]
              public decimal is_devol_val { get; set; }

              /// <summary>
              ///pdvct_is_cr_pres_alq    number(7,4)    is al.crpres|is - aliquota do credito presumido
              /// </summary>
              [DataMember]
              public decimal is_cr_pres_alq { get; set; }

              /// <summary>
              ///pdvct_is_cr_pres_val    number(17,4)    is vl.crpres|is - valor do credito presumido
              /// </summary>
              [DataMember]
              public decimal is_cr_pres_val { get; set; }

              /// <summary>
              ///pdvct_is_diferido_alq    number(7,4)    is al.difer|is - aliquota do diferimento
              /// </summary>
              [DataMember]
              public decimal is_diferido_alq { get; set; }

              /// <summary>
              ///pdvct_is_diferido_val    number(17,4)    is vl.difer|is - valor do diferimento
              /// </summary>
              [DataMember]
              public decimal is_diferido_val { get; set; }

              /// <summary>
              ///pdvct_is_reduz_alq    number(7,4)    is al.red|is - reduçao de aliquota
              /// </summary>
              [DataMember]
              public decimal is_reduz_alq { get; set; }

              /// <summary>
              ///pdvct_is_efet_alq    number(7,4)    is al.efet|is - aliquota efetiva
              /// </summary>
              [DataMember]
              public decimal is_efet_alq { get; set; }

              /// <summary>
              ///pdvct_is_desonerado_bas    number(17,4)    is bs.deson|is - base de calculo do desonerado
              /// </summary>
              [DataMember]
              public decimal is_desonerado_bas { get; set; }

              /// <summary>
              ///pdvct_is_desonerado_alq    number(7,4)    is al.deson|is - aliquota do desonerado
              /// </summary>
              [DataMember]
              public decimal is_desonerado_alq { get; set; }

              /// <summary>
              ///pdvct_is_desonerado_val    number(17,4)    is vl.deson|is - valor do desonerado
              /// </summary>
              [DataMember]
              public decimal is_desonerado_val { get; set; }

              /// <summary>
              ///pdvct_ibsuf_cclasstribregular   varchar2(6)     - ibsuf clstrib reg|ibsuf - classificacao fiscal regular
              /// </summary>
              [DataMember]
              public string ibsuf_cclasstribregular { get; set; }

              /// <summary>
              ///pdvct_ibsuf_cst_regular         number(3)     - ibsuf cst reg|ibsuf - cst regular
              /// </summary>
              [DataMember]
              public decimal ibsuf_cst_regular { get; set; }

              /// <summary>
              ///pdvct_ibsuf_vlrimpostoregular   number(17,4)      - ibsuf vl. reg|ibsuf - valor do imposto regular
              /// </summary>
              [DataMember]
              public decimal ibsuf_vlrimpostoregular { get; set; }

              /// <summary>
              ///pdvct_ibsuf_peraliqregular      number(7,4)       - ibsuf alq. reg|ibsuf - aliquota percentual regular
              /// </summary>
              [DataMember]
              public decimal ibsuf_peraliqregular { get; set; }

              /// <summary>
              ///pdvct_ibsuf_ccredpres           varchar2(2)      - ibsuf cls crpres|ibsuf - cod de classificacao do credito presumido
              /// </summary>
              [DataMember]
              public string ibsuf_ccredpres { get; set; }

              /// <summary>
              ///pdvct_ibsuf_vlrimpostomonoret   number(17,4)      - ibsuf vl. monret|ibsuf - valor do imposto monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsuf_vlrimpostomonoret { get; set; }

              /// <summary>
              ///pdvct_ibsuf_vlrbasemonoret      number(17,4)     - ibsuf bs. monret|ibsuf - valor da base de calculo do monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsuf_vlrbasemonoret { get; set; }

              /// <summary>
              ///pdvct_ibsuf_cr_pres_red         number(7,4)     - ibsuf red. crpres|ibsuf - reducao do credito presumido
              /// </summary>
              [DataMember]
              public decimal ibsuf_cr_pres_red { get; set; }

              /// <summary>
              ///pdvct_ibsuf_vlrimpostointegral  number(17,4)      - ibsuf vl. int.|ibsuf - valor do imposto integral
              /// </summary>
              [DataMember]
              public decimal ibsuf_vlrimpostointegral { get; set; }

              /// <summary>
              ///pdvct_ibsuf_indmonofasico       varchar2(1)        - ibsuf ind. mono|ibsuf - indicador de imposto monofasico
              /// </summary>
              [DataMember]
              public string ibsuf_indmonofasico { get; set; }

              /// <summary>
              ///pdvct_ibsuf_inddiferido         varchar2(1)      - ibsuf ind. dif|ibsuf - indicador de imposto diferido
              /// </summary>
              [DataMember]
              public string ibsuf_inddiferido { get; set; }

              /// <summary>
              ///pdvct_ibsuf_indregular          varchar2(1)      - ibsuf ind. reg|ibsuf - indicador de imposto regular
              /// </summary>
              [DataMember]
              public string ibsuf_indregular { get; set; }

              /// <summary>
              ///pdvct_ibsuf_vlrbaseregular          number(17,4)      - ibsuf bs. reg|ibsuf - valor da base de calculo do imposto regular
              /// </summary>
              [DataMember]
              public string ibsuf_vlrbaseregular { get; set; }

              /// <summary>
              ///pdvct_ibsmun_cclasstribregular   varchar2(6)     - ibsmun clstrib reg|ibsmun - classificacao fiscal regular
              /// </summary>
              [DataMember]
              public string ibsmun_cclasstribregular { get; set; }

              /// <summary>
              ///pdvct_ibsmun_cst_regular         number(3)     - ibsmun cst reg|ibsmun - cst regular
              /// </summary>
              [DataMember]
              public decimal ibsmun_cst_regular { get; set; }

              /// <summary>
              ///pdvct_ibsmun_vlrimpostoregular   number(17,4)      - ibsmun vl. reg|ibsmun - valor do imposto regular
              /// </summary>
              [DataMember]
              public decimal ibsmun_vlrimpostoregular { get; set; }

              /// <summary>
              ///pdvct_ibsmun_peraliqregular      number(7,4)       - ibsmun alq. reg|ibsmun - aliquota percentual regular
              /// </summary>
              [DataMember]
              public decimal ibsmun_peraliqregular { get; set; }

              /// <summary>
              ///pdvct_ibsmun_ccredpres           varchar2(2)      - ibsmun cls crpres|ibsmun - cod de classificacao do credito presumido
              /// </summary>
              [DataMember]
              public string ibsmun_ccredpres { get; set; }

              /// <summary>
              ///pdvct_ibsmun_vlrimpostomonoret   number(17,4)      - ibsmun vl. monret|ibsmun - valor do imposto monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsmun_vlrimpostomonoret { get; set; }

              /// <summary>
              ///pdvct_ibsmun_vlrbasemonoret      number(17,4)     - ibsmun bs. monret|ibsmun - valor da base de calculo do monofasico retido
              /// </summary>
              [DataMember]
              public decimal ibsmun_vlrbasemonoret { get; set; }

              /// <summary>
              ///pdvct_ibsmun_cr_pres_red         number(7,4)     - ibsmun red. crpres|ibsmun - reducao do credito presumido
              /// </summary>
              [DataMember]
              public decimal ibsmun_cr_pres_red { get; set; }

              /// <summary>
              ///pdvct_ibsmun_vlrimpostointegral  number(17,4)      - ibsmun vl. int.|ibsmun - valor do imposto integral
              /// </summary>
              [DataMember]
              public decimal ibsmun_vlrimpostointegral { get; set; }

              /// <summary>
              ///pdvct_ibsmun_indmonofasico       varchar2(1)        - ibsmun ind. mono|ibsmun - indicador de imposto monofasico
              /// </summary>
              [DataMember]
              public string ibsmun_indmonofasico { get; set; }

              /// <summary>
              ///pdvct_ibsmun_inddiferido         varchar2(1)      - ibsmun ind. dif|ibsmun - indicador de imposto diferido
              /// </summary>
              [DataMember]
              public string ibsmun_inddiferido { get; set; }

              /// <summary>
              ///pdvct_ibsmun_indregular          varchar2(1)      - ibsmun ind. reg|ibsmun - indicador de imposto regular
              /// </summary>
              [DataMember]
              public string ibsmun_indregular { get; set; }

              /// <summary>
              ///pdvct_ibsmun_vlrbaseregular          number(17,4)      - ibsmun bs. reg|ibsmun - valor da base de calculo do imposto regular
              /// </summary>
              [DataMember]
              public string ibsmun_vlrbaseregular { get; set; }

              /// <summary>
              ///pdvct_cbs_cclasstribregular   varchar2(6)     - cbs clstrib reg|cbs - classificacao fiscal regular
              /// </summary>
              [DataMember]
              public string cbs_cclasstribregular { get; set; }

              /// <summary>
              ///pdvct_cbs_cst_regular         number(3)     - cbs cst reg|cbs - cst regular
              /// </summary>
              [DataMember]
              public decimal cbs_cst_regular { get; set; }

              /// <summary>
              ///pdvct_cbs_vlrimpostoregular   number(17,4)      - cbs vl. reg|cbs - valor do imposto regular
              /// </summary>
              [DataMember]
              public decimal cbs_vlrimpostoregular { get; set; }

              /// <summary>
              ///pdvct_cbs_peraliqregular      number(7,4)       - cbs alq. reg|cbs - aliquota percentual regular
              /// </summary>
              [DataMember]
              public decimal cbs_peraliqregular { get; set; }

              /// <summary>
              ///pdvct_cbs_ccredpres           varchar2(2)      - cbs cls crpres|cbs - cod de classificacao do credito presumido
              /// </summary>
              [DataMember]
              public string cbs_ccredpres { get; set; }

              /// <summary>
              ///pdvct_cbs_vlrimpostomonoret   number(17,4)      - cbs vl. monret|cbs - valor do imposto monofasico retido
              /// </summary>
              [DataMember]
              public decimal cbs_vlrimpostomonoret { get; set; }

              /// <summary>
              ///pdvct_cbs_vlrbasemonoret      number(17,4)     - cbs bs. monret|cbs - valor da base de calculo do monofasico retido
              /// </summary>
              [DataMember]
              public decimal cbs_vlrbasemonoret { get; set; }

              /// <summary>
              ///pdvct_cbs_cr_pres_red         number(7,4)     - cbs red. crpres|cbs - reducao do credito presumido
              /// </summary>
              [DataMember]
              public decimal cbs_cr_pres_red { get; set; }

              /// <summary>
              ///pdvct_cbs_vlrimpostointegral  number(17,4)      - cbs vl. int.|cbs - valor do imposto integral
              /// </summary>
              [DataMember]
              public decimal cbs_vlrimpostointegral { get; set; }

              /// <summary>
              ///pdvct_cbs_indmonofasico       varchar2(1)        - cbs ind. mono|cbs - indicador de imposto monofasico
              /// </summary>
              [DataMember]
              public string cbs_indmonofasico { get; set; }

              /// <summary>
              ///pdvct_cbs_inddiferido         varchar2(1)      - cbs ind. dif|cbs - indicador de imposto diferido
              /// </summary>
              [DataMember]
              public string cbs_inddiferido { get; set; }

              /// <summary>
              ///pdvct_cbs_indregular          varchar2(1)      - cbs ind. reg|cbs - indicador de imposto regular
              /// </summary>
              [DataMember]
              public string cbs_indregular { get; set; }

              /// <summary>
              ///pdvct_cbs_vlrbaseregular          number(17,4)      - cbs bs. reg|cbs - valor da base de calculo do imposto regular
              /// </summary>
              [DataMember]
              public string cbs_vlrbaseregular { get; set; }

              /// <summary>
              ///pdvct_is_cclasstribregular   varchar2(6)     - is clstrib reg|is - classificacao fiscal regular
              /// </summary>
              [DataMember]
              public string is_cclasstribregular { get; set; }

              /// <summary>
              ///pdvct_is_cst_regular         number(3)     - is cst reg|is - cst regular
              /// </summary>
              [DataMember]
              public decimal is_cst_regular { get; set; }

              /// <summary>
              ///pdvct_is_vlrimpostoregular   number(17,4)      - is vl. reg|is - valor do imposto regular
              /// </summary>
              [DataMember]
              public decimal is_vlrimpostoregular { get; set; }

              /// <summary>
              ///pdvct_is_peraliqregular      number(7,4)       - is alq. reg|is - aliquota percentual regular
              /// </summary>
              [DataMember]
              public decimal is_peraliqregular { get; set; }

              /// <summary>
              ///pdvct_is_ccredpres           varchar2(2)      - is cls crpres|is - cod de classificacao do credito presumido
              /// </summary>
              [DataMember]
              public string is_ccredpres { get; set; }

              /// <summary>
              ///pdvct_is_vlrimpostomonoret   number(17,4)      - is vl. monret|is - valor do imposto monofasico retido
              /// </summary>
              [DataMember]
              public decimal is_vlrimpostomonoret { get; set; }

              /// <summary>
              ///pdvct_is_vlrbasemonoret      number(17,4)     - is bs. monret|is - valor da base de calculo do monofasico retido
              /// </summary>
              [DataMember]
              public decimal is_vlrbasemonoret { get; set; }

              /// <summary>
              ///pdvct_is_cr_pres_red         number(7,4)     - is red. crpres|is - reducao do credito presumido
              /// </summary>
              [DataMember]
              public decimal is_cr_pres_red { get; set; }

              /// <summary>
              ///pdvct_is_vlrimpostointegral  number(17,4)      - is vl. int.|is - valor do imposto integral
              /// </summary>
              [DataMember]
              public decimal is_vlrimpostointegral { get; set; }

              /// <summary>
              ///pdvct_is_indmonofasico       varchar2(1)        - is ind. mono|is - indicador de imposto monofasico
              /// </summary>
              [DataMember]
              public string is_indmonofasico { get; set; }

              /// <summary>
              ///pdvct_is_inddiferido         varchar2(1)      - is ind. dif|is - indicador de imposto diferido
              /// </summary>
              [DataMember]
              public string is_inddiferido { get; set; }

              /// <summary>
              ///pdvct_is_indregular          varchar2(1)      - is ind. reg|is - indicador de imposto regular
              /// </summary>
              [DataMember]
              public string is_indregular { get; set; }

              /// <summary>
              ///pdvct_is_vlrbaseregular          number(17,4)      - is bs. reg|is - valor da base de calculo do imposto regular
              /// </summary>
              [DataMember]
              public string is_vlrbaseregular { get; set; }
          }
      }

    2. Criação do Objeto CenariosRefTribDTO, para envio dos cenários para os PDVs de terceiros.

using System;
using System.Runtime.Serialization;

namespace RMS.PDV.WS.Util.Entidades
{
    /// <summary>
    /// Classe utilizada para representar a entidade de Cenários Tributários
    /// </summary>

    [DataContract]
    public class CenariosRefTribDTO
    {
        public CenariosRefTribDTO()
        {
        }

        /// <summary>
        /// git_cod_item NUMBER(7)    
        /// </summary>
        [DataMember]
        public Int32 CodigoItem { get; set; }

        /// <summary>
        /// ncm    NUMBER(10)
        /// </summary>
        [DataMember]
        public Int32 Ncm { get; set; }

        /// <summary>
        /// uf    VARCHAR2(2)
        /// </summary>
        [DataMember]
        public string Uf { get; set; }

        /// <summary>
        /// codibge NUMBER(7)    
        /// </summary>
        [DataMember]
        public Int32 CodigoIbge { get; set; }

        /// <summary>
        /// cidade    VARCHAR2(40)
        /// </summary>
        [DataMember]
        public string Cidade { get; set; }

        /// <summary>
        /// cenariocbs INTEGER    
        /// </summary>
        [DataMember]
        public int CenarioCbs { get; set; }

        /// <summary>
        /// peraliqcbs NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqCbs { get; set; }

        /// <summary>
        /// peraliqredcbs NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqRedCbs { get; set; }

        /// <summary>
        /// cstcbs VARCHAR(3)
        /// </summary>
        [DataMember]
        public string CstCbs { get; set; }

        /// <summary>
        /// cclasstribcbs VARCHAR(6)
        /// </summary>
        [DataMember]
        public string CclassTribCbs { get; set; }

        /// <summary>
        /// msgerrocbs VARCHAR(500)
        /// </summary>
        [DataMember]
        public string MsgErroCbs { get; set; }

        /// <summary>
        /// cenarioibsuf INTEGER    
        /// </summary>
        [DataMember]
        public int CenarioIbsuf { get; set; }

        /// <summary>
        /// peraliqibsuf NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqIbsuf { get; set; }

        /// <summary>
        /// peraliqredibsuf NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqRedIbsuf { get; set; }

        /// <summary>
        /// cstibsuf VARCHAR(3)
        /// </summary>
        [DataMember]
        public string CstIbsuf { get; set; }

        /// <summary>
        /// cclasstribibsuf VARCHAR(6)
        /// </summary>
        [DataMember]
        public string CclassTribIbsuf { get; set; }

        /// <summary>
        /// msgerroibsuf VARCHAR(500)
        /// </summary>
        [DataMember]
        public string MsgErroIbsuf { get; set; }

        /// <summary>
        /// cenarioibsmun INTEGER    
        /// </summary>
        [DataMember]
        public int CenarioIbsmun { get; set; }

        /// <summary>
        /// peraliqibsmun NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqIbsmun { get; set; }

        /// <summary>
        /// peraliqredibsmun NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqRedIbsmun { get; set; }

        /// <summary>
        /// cstibsmun VARCHAR(3)
        /// </summary>
        [DataMember]
        public string CstIbsmun { get; set; }

        /// <summary>
        /// cclasstribibsmun VARCHAR(6)
        /// </summary>
        [DataMember]
        public string CclassTribIbsmun { get; set; }

        /// <summary>
        /// msgerroibsmun VARCHAR(500)
        /// </summary>
        [DataMember]
        public string MsgErroIbsmun { get; set; }

        /// <summary>
        /// cenariois INTEGER    
        /// </summary>
        [DataMember]
        public int CenarioIs { get; set; }

        /// <summary>
        /// peraliqis NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqIs { get; set; }

        /// <summary>
        /// peraliqredis NUMBER
        /// </summary>
        [DataMember]
        public decimal PerAliqRedIs { get; set; }

        /// <summary>
        /// cstis VARCHAR(3)
        /// </summary>
        [DataMember]
        public string CstIs { get; set; }

        /// <summary>
        /// cclasstribis VARCHAR(6)
        /// </summary>
        [DataMember]
        public string CclassTribIs { get; set; }

        /// <summary>
        /// msgerrois VARCHAR(500)
        /// </summary>
        [DataMember]
        public string MsgErroIs { get; set; }
    }
}

05. ASSUNTOS RELACIONADOS

Reforma Tributária do Consumo – Adequações NF-e / NFC-e - Nota Técnica 2025.002-RTC - Versão 1.10 Junho de 2025