Request | Hits by parent request | Mean time (ms) | Max time (ms) | Standard deviation | Mean cpu time (ms) | Mean allocated Kb | % of system error | Mean hits sql | Mean time sql (ms) |
---|---|---|---|---|---|---|---|---|---|
![]() | 21 | 86 | 29 | 0 | 96 | 0.00 | 1 | 20 | |
1.00 | 2 | 41 | 2 | 0.00 | |||||
0.31 | 3 | 6 | 1 | 0.00 | |||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.01 | 63 | 68 | 4 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.02 | 63 | 70 | 5 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?) | 0.01 | 64 | 68 | 4 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.02 | 65 | 77 | 7 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?) | 0.02 | 61 | 65 | 3 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?) | 0.00 | 70 | 70 | 0 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?) | 0.01 | 62 | 63 | 1 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?) | 0.02 | 60 | 64 | 2 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?) | 0.03 | 58 | 62 | 2 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?) | 0.04 | 53 | 61 | 2 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?) | 0.02 | 58 | 61 | 1 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.01 | 61 | 64 | 2 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.00 | 58 | 58 | 0 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.02 | 61 | 62 | 1 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.01 | 61 | 62 | 1 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.01 | 61 | 62 | 0 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.00 | 63 | 63 | 0 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.01 | 62 | 64 | 1 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.00 | 61 | 61 | 0 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.01 | 62 | 63 | 1 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.00 | 62 | 62 | 0 | 0.00 | ||||
![]() ![]() ![]() SELECT d.cnpj_issuer as cnpj, CASE WHEN substring(item.produto -> 'prod' ->> 'cfop', 1, 1) IN ('5', '6', '7') THEN 'VENDA' ELSE 'DEVOLUCAO' END as tipoOperacao, d.data_emissao as dataEmissao, d.key, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'nnf' as numeroNotaFiscal, d.data -> 'nfe' -> 'infNFe' -> 'ide' ->> 'serie' as serie, d.cnpj_addressee as cnpjDestinatario, item.produto -> 'prod' ->> 'cprod' as codigoProduto, item.produto -> 'prod' ->> 'xprod' as descricaoProduto, item.produto -> 'prod' ->> 'cfop' as cfop, CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) as valorProduto, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) as baseCalculoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) as baseCalculoCofins, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) as aliquotaPis, CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) as valorRecolhidoPis, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) as aliquotaCofins, CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) as valorRecolhidoCofins, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vbc', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vbc') as numeric) as baseCalculoIcms, ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) as novaBaseCalculoIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) as aliquotaIcms, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) as valorIcmsAntesExclusao, ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsAposExclusao, CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) as valorIcmsRestituir FROM document d INNER JOIN document_status ds ON d.key = ds.key and d.cnpj_issuer = ds.cnpj_issuer and d.protocol = ds.protocol and d.nsu = ds.nsu and d.type = ds.type , jsonb_array_elements(d.data -> 'nfe' -> 'infNFe' -> 'det') WITH ORDINALITY item(produto) WHERE ds.status = '1' AND d.type IN ('NFE_4_0', 'NFE_3_1', 'NFE_2_0') and CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) <> 0 AND CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vpis' AS NUMERIC) <> 0 AND CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vcofins' AS NUMERIC) <> 0 AND item.produto -> 'prod' ->> 'cfop' IN ( '5101','5102','5103','5104','5105','5106','5109','5110','5111','5112','5113','5114','5115','5116','5117','5118','5119','5120','5122','5123','5124','5125','5251','5252','5253','5254','5255','5256','5257','5258','5301','5302','5303','5304','5305','5306','5307','5351','5352','5353','5354','5355','5356','5357','5359','5360','5401','5402','5403','5405','5414','5415','5451','5501','5502','5554','5651','5652','5653','5654','5655','5656','5657,5663','5666','5667','5901','5904','5905','5908','5910','5911','5912','5914','5915','5917','5920','5923','5924','5932', '6101','6102','6103','6104','6105','6106','6107','6108','6109','6110','6111','6112','6113','6114','6115','6116','6117','6118','6119','6120','6122','6123','6124','6125','6251,6252','6253','6254','6255','6256','6257','6258','6301','6302','6303','6304','6305','6306','6307','6351','6352','6353','6354','6355','6356','6357','6359','6360','6401','6402','6403','6404','6414','6415','6501','6502','6554','6651','6652','6653','6654','6655','6656','6657','6663','6666','6667','6901','6904','6905','6908','6910','6911','6912','6914','6915','6917','6920','6923','6924','6932', '7101','7102','7105','7106','7127','7251','7301','7358','7501','7651','7654','7667', '1201','1202','1203','1204','1205','1206','1207','1410','1411','1503','1504','1660','1661','1662', '2201','2202','2203','2204','2205','2206','2207','2410','2411','2503','2504','2660','2661','2662', '3201','3202','3205','3206','3207','3211','3503' ) AND d.cnpj_issuer = ? AND d.data_emissao BETWEEN CAST(? AS DATE) and CAST(? AS DATE) AND ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'vicms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'vicms') as numeric) - ( ( CAST(item.produto -> 'prod' ->> 'vprod' AS NUMERIC) - ( CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'pis' -> 'pisAliq' ->> 'ppis' AS NUMERIC) / 100) ) - ( CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'vbc' AS NUMERIC) * (CAST(item.produto -> 'imposto' -> 'cofins' -> 'cofinsAliq' ->> 'pcofins' AS NUMERIC) / 100) ) ) * ( CAST(COALESCE(item.produto -> 'imposto' -> 'icms' -> 'icms00' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms10' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms20' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms70' ->> 'picms', item.produto -> 'imposto' -> 'icms' -> 'icms90' ->> 'picms') as numeric) / 100 ) ) ) > 0 AND d.key in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) | 0.00 | 62 | 62 | 0 | 0.00 |
![]() |
|
The units of the values are "m" for milli (1 / 1000), "k" for kilo/thousands, "M" for mega/millions, "G" for giga/billions and "u" for micro (1 / 1000000)
|