1. DADOS GERAIS

Produto:

TOTVS Varejo Franquias e Redes

Linha de Produto:

 Franquias e Redes

Segmento:

Varejo 

Módulo:

TOTVS PDV Omni

Função:Mapeamento Banco de dados
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DVARLIVEPDV-44177


02. SITUAÇÃO/REQUISITO

O PDV Omni deve permitir o recebimento e armazenamento das informações de tributos IBS Municipal,IBS Federal, IS e CBS, e vinculação dos dados de impostos a entidade Produto e NCM garantindo conformidade com a reforma tributária e os novos requisitos legais.

03. SOLUÇÃO


Informações Armazenadas no PDV

Para atender a esse requisito, foram criadas novas tabelas no banco de dados e realizado o mapeamento de acordo com as especificações da integração.

Abaixo está a estrutura das tabelas criadas e dos objetos JSON correspondentes.


O sistema armazenará as seguintes informações conforme a documentação de integração: Imposto fiscal

tabela imposto_fiscal


A tabela imposto_fiscal se relaciona com as tabelas produto e ncm por meio das tabelas de junção imposto_fiscal_produto e imposto_fiscal_ncm. Esses relacionamentos permitem que um imposto fiscal seja vinculado a vários produtos ou códigos NCM.

Após a criação de um registro em imposto_fiscal, o vínculo com a origem (produto ou NCM) deve ser feito através da tabela de junção correspondente, de acordo com a origem da aplicação do imposto.


tabela imposto_fiscal_ncm - Responsável por realizar o relacionamento entre a entidade imposto_fiscal e o ncm,.

tabela imposto_fiscal_produto -  Responsável por realizar o relacionamento entre a entidade imposto_fiscal e produto.


Geração das tags de IS, IBS (Municipal e Estadual) e CBS nos itens

A partir das informações integradas ao banco de dados, o PDV passará a gerar automaticamente as respectivas tags fiscais. Para isso, serão consideradas as datas de vigência (início e fim) e a situação do imposto, conforme registrado na tabela imposto_fiscal.

A seguir, apresentamos exemplos dos XMLs gerados com seus respectivos valores conforme os dados do banco.


Exemplo do banco de dados:


Resumo banco de dados:


1 - IS (Imposto Seletivo)

Para o imposto IS temos duas formas de geração da XML


Com pISEspec

<IS>
	<CSTIS>000</CSTIS>
	<cClassTribIS>123456</cClassTribIS>
	<vBCIS>2500.00</vBCIS>
	<pIS>18.00</pIS>
	<pISEspec>4.59</pISEspec>
	<uTrib>PC</uTrib>
	<qTrib>1.0000</qTrib>
	<vIS>4.59</vIS>
</IS>

Tag: <vBCIS> Valor: 2500.00 É o valor do produto sobre o qual os tributos serão aplicados.

Tag <pIS>: Alíquota = 18.00%

Tag <pISEspec>: Alíquota específica por unidade = 4.59

Tag <qTrib>: Quantidade tributada = 1.0000

Tag <uTrib>: Unidade tributável = PC 

Cálculo: 4.59 * 1.0000 = 4.59

Tag <vIS>: Valor do imposto IS = 4.59


Sem pISEspec

<IS>
	<CSTIS>000</CSTIS>
	<cClassTribIS>123456</cClassTribIS>
	<vBCIS>2500.00</vBCIS>
	<pIS>18.00</pIS>
	<vIS>450.00</vIS>
</IS>

Tag: <vBCIS> Valor: 2500.00 É o valor do produto sobre o qual os tributos serão aplicados.

Tag <pIS>: Alíquota = 18.00%

Cálculo: 2500.00 * 18% = 450.00

Tag <vIS>: Valor do imposto IS = 450

Obs.: Esse exemplo sem o pISEspec não reflete o banco acima, pois para isso acontecer a coluna percentual_aliquota_especifica_unidade_medida deve ser nula ou zero.



2 - IBS Estadual e IBS Municipal e CBS

<IBSCBS>
	<CST>000</CST>
	<cClassTrib>654321</cClassTrib>
	<gIBSCBS>
		<vBC>2500.00</vBC>
		<gIBSUF>
			<pIBSUF>18.00</pIBSUF>
			<vIBSUF>450.00</vIBSUF>
		</gIBSUF>
		<gIBSMun>
			<pIBSMun>18.00</pIBSMun>
			<gRed>
				<pRedAliq>50.00</pRedAliq>
				<pAliqEfet>9.00</pAliqEfet>
			</gRed>
			<vIBSMun>225.00</vIBSMun>
		</gIBSMun>
		<gCBS>
			<pCBS>18.00</pCBS>
			<gRed>
				<pRedAliq>40.00</pRedAliq>
				<pAliqEfet>10.80</pAliqEfet>
			</gRed>
			<vCBS>270.00</vCBS>
		</gCBS>
	</gIBSCBS>
</IBSCBS>

Tag: <vBC> Valor: 2500.00 É o valor do produto sobre o qual os tributos serão aplicados.


2.1 IBS Estadual

Tag <pIBSUF>: Alíquota = 18%

Cálculo: 2500.00 * 18% = 450.00

Tag <vIBSUF>: Valor do imposto = 450.00

Sem redução, valor direto sobre a base.


2.2 IBS Municipal

Tag <pIBSMun>: Alíquota = 18%

Tag <pRedAliq>: Redução = 50%

Tag <pAliqEfet>: Alíquota efetiva calculada = 9.00%

Cálculo: 2500.00 * 9% = 225.00

Tag <vIBSMun>: Valor do imposto = 225.00

Com redução de 50%, a alíquota efetiva aplicada foi 9%.


2.3 CBS

Tag <pCBS>: Alíquota = 18%

Tag <pRedAliq>: Redução = 40%

Tag <pAliqEfet>: Alíquota efetiva calculada = 10.80%

Cálculo: 2500.00 * 10.80% = 270.00

Tag <vCBS>: Valor do imposto = 270.00

Com redução de 40%, a alíquota efetiva aplicada foi 10.80%.


3 - Valor do item <vItem>


<det nItem="1">
	<prod>
		<cProd>23780</cProd>
		<cEAN></cEAN>
		<xProd></xProd>
		<NCM>33051000</NCM>
		<CFOP>5102</CFOP>
		<uCom>PC</uCom>
		<qCom>1.0000</qCom>
		<vUnCom>2500.0000000000</vUnCom>
		<vProd>2500.00</vProd>
		<cEANTrib></cEANTrib>
		<uTrib>PC</uTrib>
		<qTrib>1.0000</qTrib>
		<vUnTrib>2500.0000000000</vUnTrib>
		<indTot>1</indTot>
	</prod>
	<imposto>
		<vTotTrib>905.50</vTotTrib>
		<ICMS>
			<ICMS20>
				<orig>0</orig>
				<CST>20</CST>
				<modBC>3</modBC>
				<pRedBC>33.3300</pRedBC>
				<vBC>1666.75</vBC>
				<pICMS>18.0000</pICMS>
				<vICMS>300.02</vICMS>
			</ICMS20>
		</ICMS>
		<PIS>
			<PISNT>
				<CST>04</CST>
			</PISNT>
		</PIS>
		<COFINS>
			<COFINSNT>
				<CST>04</CST>
			</COFINSNT>
		</COFINS>
		<IS>
			<CSTIS>000</CSTIS>
			<cClassTribIS>123456</cClassTribIS>
			<vBCIS>2500.00</vBCIS>
			<pIS>18.00</pIS>
			<pISEspec>4.59</pISEspec>
			<uTrib>PC</uTrib>
			<qTrib>1.0000</qTrib>
			<vIS>4.59</vIS>
		</IS>
		<IBSCBS>
			<CST>000</CST>
			<cClassTrib>654321</cClassTrib>
			<gIBSCBS>
				<vBC>2500.00</vBC>
				<gIBSUF>
					<pIBSUF>18.00</pIBSUF>
					<vIBSUF>450.00</vIBSUF>
				</gIBSUF>
				<gIBSMun>
					<pIBSMun>18.00</pIBSMun>
					<gRed>
						<pRedAliq>50.00</pRedAliq>
						<pAliqEfet>9.00</pAliqEfet>
					</gRed>
					<vIBSMun>225.00</vIBSMun>
				</gIBSMun>
				<gCBS>
					<pCBS>18.00</pCBS>
					<gRed>
						<pRedAliq>40.00</pRedAliq>
						<pAliqEfet>10.80</pAliqEfet>
					</gRed>
					<vCBS>270.00</vCBS>
				</gCBS>
			</gIBSCBS>
		</IBSCBS>
	</imposto>
	<vItem>3449.59</vItem>
</det>

Tag <vItem>: É a soma do valor liquido do produto mais os impostos IS , IBS e CBS

Tag: <vIS>: 4.59

Tag <vIBSUF>: 450.00

Tag <vIBSMun>: 225.00

Tag <vCBS>: 270.00

Cálculo 2500 + 4.59 + 450 + 225 + 270

Tag <vItem>: 3449.59

Geração das tags de IS, IBS (Municipal e Estadual) e CBS no Total


Após a geração das tags dos itens, deve-se proceder com a geração das tags de totais. Abaixo segue um exemplo, considerando os XMLs apresentados anteriormente:

<total>
	<ICMSTot>
	</ICMSTot>
	<ISTot>
		<vIS>4.59</vIS>
	</ISTot>
	<IBSCBSTot>
		<vBCIBSCBS>2500.00</vBCIBSCBS>
		<gIBS>
			<gIBSUF>
				<vDif>0.00</vDif>
				<vDevTrib>0.00</vDevTrib>
				<vIBSUF>450.00</vIBSUF>
			</gIBSUF>
			<gIBSMun>
				<vDif>0.00</vDif>
				<vDevTrib>0.00</vDevTrib>
				<vIBSMun>225.00</vIBSMun>
			</gIBSMun>
			<vIBS>675.00</vIBS>
			<vCredPres>0</vCredPres>
			<vCredPresCondSus>0</vCredPresCondSus>
		</gIBS>
		<gCBS>
			<vDif>0.00</vDif>
			<vDevTrib>0.00</vDevTrib>
			<vCBS>270.00</vCBS>
			<vCredPres>0.00</vCredPres>
			<vCredPresCondSus>0.00</vCredPresCondSus>
		</gCBS>
	</IBSCBSTot>
	<vNFTot>3449.59</vNFTot>
</total>

Tag <ISTot.vIS>: Soma de todos os Impostos Seletivos vIS dos itens.

Tag <IBSCBSTot.vBCIBSCBS>: Soma de todas as bases de cálculo (gIBSCBS.vBC) dos itens.

Tag <IBSCBSTot.gIBS.gIBSUF.vIBSUF>: Soma de todas as tags vIBSUF.

Tag <IBSCBSTot.gIBS.gIBSMun.vIBSMun>: Soma de todas as tags vIBSMun.

Tag <IBSCBSTot.gCBS.vCBS>: Soma de todas as tags vCBS.

Tag <vNFTot>: Soma de todas as tags vItem.


Obs.: As tags vDif, vDevTrib, vCredPres, vCredPresCondSus devem ser geradas sempre com valor 0, pois a partir do momento que criamos o grupo é obrigatório a geração das mesmas, mesmo que não existam nos itens. 



04. DEMAIS INFORMAÇÕES

Não se aplica

05. ASSUNTOS RELACIONADOS

Não se aplica

06. ANÁLISE DE IMPACTO

Instalação de novos ambientes/Atualização de novos ambientes

Consulta de produtos

Finalização de vendas

Integração Fiscal

07. VERSÃO

PRODUTO

VERSÃO

TOTVS PDV Omni4.2..2