Objetivo
Método que permite inserir/atualizar o produto.
POST api/v1/importacao/produto
Não há.
Nome (Name) | Descrição (Description) | Tipo (Type) | Informações Adicionais (Adittional Information) |
SEQPRODUTO* | Código sequencial do produto. | integer | |
NROEMPRESA* | Número da empresa ou código do depositante (quando utilizado Operador Logístico). | integer | Valor Máximo: 999 |
SEQFORNECEDOR* | Código ou CNPJ do fornecedor. Vinculado ao campo TIPCODIGO. | integer | |
TIPCODIGO* | Tipo do código do fornecedor: I – Código Interno(Padrão) C – CNPJ. | string | Tamanho Máximo: 1 |
CODTIPENDERECO | Código do tipo do endereço(normal, alto, baixo, etc.) previamente cadastrado no ACRUX LOCUS PARÂMETRO / Tipos de Endereços. Caso esse campo não seja enviado, será considerado o valor padrão "N". | string | Tamanho Máximo: 3 |
DESCCOMPLETA* | Descrição completa do produto. | string | Tamanho Máximo: 70 |
DESCREDUZIDA* | Descrição reduzida do produto. | string | Tamanho Máximo: 20 |
STATUSCOMPRA* | Status de compra do produto: A – Ativo I – Inativo. | string | Tamanho Máximo: 1 |
STATUSVENDA* | Status de venda do produto: A – Ativo I – Inativo. | string | Tamanho Máximo: 1 |
TIPARMAZENAGEM | Tipo de armazenagem do produto, previamente cadastrado no ACRUX LOCUS PARÂMETRO / Atributo Fixo. Caso esse campo não seja enviado, será considerado o valor padrão "N". | string | Tamanho Máximo: 5 |
TIPSEPARACAO | Tipo de separação do produto, previamente cadastrado no ACRUX LOCUS PARÂMETRO / Atributo Fixo. Caso esse campo não seja enviado, será considerado o valor padrão "N". | string | Tamanho Máximo: 1 |
PZOVALIDADEDIA* | Prazo de validade do produto a partir da data da fabricação(em dias). Caso não utilize este conceito enviar "0". | integer | Valor Máximo: 9999 |
PESAVEL | Indica se o produto é pesável: S – Sim N – Não. | string | Tamanho Máximo: 1 |
ADVARMAZENAGEM | Advertência de Armazenagem. Mensagem que será mostrada no momento da armazenagem do produto. | string | Tamanho Máximo: 80 |
EMTETIQUETA | Indicador de emissão de etiquetas de códigos de barra: S – Sim N – Não. Quando "S", emite as etiquetas que vão substituir códigos dos produtos que não possuem código de barras. Caso esse campo não seja enviado, será considerado o valor padrão "S". | string | Tamanho Máximo: 1 |
INDPROCFABRICACAO | Indica se é um produto de composição: Caso esse campo não seja enviado, será considerado o valor padrão "S". | string | Tamanho Máximo: 1 |
MEDVDIAGERAL | Média de venda geral por dia. Valor da média de venda geral do produto. | decimal (12,6) | Valor Máximo: 999999,999999 |
EXGNROLOTE | Indica se o produto exige que seja informado lote de fabricação: | string | Tamanho Máximo: 1 |
REFFABRICANTE | Descrição da referência do produto enviada pelo fabricante. | string | Tamanho Máximo: 20 |
EXGNROSERIE | Indica se o produto exige que seja informado o número da série na conferência: S – Sim N – Não. | string | Tamanho Máximo: 1 |
QTDTOLARMAZPROD | Quantidade para tolerância na armazenagem. | integer | Valor Máximo: 999999999 |
REFERENCIA | Referência do produto que será concatenada na descrição completa do produto. | string | Tamanho Máximo: 20 |
UTZESTRUTDRIVEIN | Indica se o produto utiliza estrutura Drive-In: S – Sim N – Não. | string | Tamanho Máximo: 1 |
EXGCERTIFICADO | Indica se o produto exige certificado: S – Sim N – Não. | string | Tamanho Máximo: 1 |
INDALTORISCO | Indica se o produto é de alto risco: S – Sim N – Não. Parâmetro vinculado ao processo de Sorter. | string | Tamanho Máximo: 1 |
INDEXGVALIDACAOMONTAGEMPALETE | Indica se o produto exige validação na montagem do palete: S – Sim N – Não. Parâmetro vinculado ao processo de Sorter. | string | Tamanho Máximo: 1 |
QTDVOLGERAETQMASTER | Quantidade de volumes para que seja gerada etiqueta master automaticamente, para que não passe pelo processo de montagem. Parâmetro vinculado ao processo de Sorter. | integer | Valor Máximo: 999 |
SEQFAMILIA | Código sequencial da família do produto. | integer | |
USUARIOALTERACAO | Usuário que realizou a última alteração no cadastro do produto. | string | Tamanho Máximo: 12 |
INDCONTROLATEMPERATURA | Indica se o produto controla temperatura: S – Sim N – Não. Parâmetro vinculado ao processo de conferência de recebimento. | string | Tamanho Máximo: 1 |
INDCONTROLARASTREABILIDADE | Indica se o produto controla rastreabilidade: S – Sim N – Não. Parâmetro vinculado ao processo de rastreabilidade. | string | Tamanho Máximo: 1 |
QTDDIASCONTROLEQUARENTENA | Quantidade de dias para controle de rastreabilidade. Parâmetro vinculado ao processo de rastreabilidade. Obrigatório caso o campo INDCONTROLARASTREABILIDADE esteja marcado como "S". | integer | Valor Máximo: 999 |
SEQPRODUTOBASE | Código sequencial do produto base. | integer |
*Campos Obrigatórios
As validações logísticas, não impactam no retorno da requisição. Entretanto, para a correta importação do produto, os critérios listados abaixo devem ser atendidos. Caso contrário, será gerada uma crítica logística**, e o registro ficará pendente de verificação por um usuário.
**As críticas logísticas podem ser visualizadas através da aplicação: WMS Centro de Distribuição -> Gerencial -> Consultas -> Exclusão de Rejeições da Importação Automática.
application/json, text/json
Bloco de código | ||
---|---|---|
| ||
{
"seqProduto": 11,
"nroEmpresa": 100,
"seqFornecedor": 752,
"tipCodigo": "I",
"codTipEndereco": "N",
"descCompleta": "Teste descriçao completa",
"descReduzida": "Teste reduzida",
"statusCompra": "A",
"statusVenda": "A",
"tipArmazenagem": "N",
"tipSeparacao": "N",
"pzoValidadeDia": 100,
"pesavel": "N",
"emtEtiqueta": "N",
"indProcFabricacao": "S",
"medVDiaGeral": 1500.000000,
"ExgNroLote" : "N",
"AdvArmazenagem" : "Teste Advertencia",
"RefFabricante" : "Teste Ref.Fabricante",
"ExgNroSerie" : "N",
"QtdTolArmazProd" : 1,
"Referencia" : "Teste Referencia",
"UtzEstrutDriveIn" : "N",
"ExgCertificado" : "N",
"IndAltoRisco" : "N",
"IndExgValidacaoMontagemPalete" : "N",
"QtdVolGeraEtqMaster" : null,
"SeqFamilia" : null,
"IndControlaTemperatura" : "N",
"IndControlaRastreabilidade" : "S",
"QtdDiasControleQuarentena" : 1,
"UsuarioAlteracao" : "CONSINCO"
} |
Totvs custom tabs box | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Tratamento da NF-e NT 2021.004 no produto TOTVS Varejo Supermercados - Linha RMS.
Alterações na NT 2021.004:
Inclusão do grupo de FCP ST no Grupo de Partilha do ICMS (Grupo N10a).
Alteração necessária para atender o Estado do Paraná, que instituiu o FCP ST nas operações com veículos novos sujeitos a ST. Precisou ser criado o campo especifico para o FCP ST, pois não havia nesse grupo.
Inclusão do Grupo Observações de uso livre do Fisco (para o item da NF-e)
Informações adicionais a nível de item, tanto de interesse do fisco quanto do contribuinte.
Inclusão do campo Tipo do Ato Concessório (campo: tpAto) no Grupo de Informações Adicionais da NF-e (campo: infAdic)
Este campo, que fica por sua vez dentro do Grupo de Processo Referenciado visa trazer uma identificação a mais para os Atos Concessórios cujo indicador da origem do processo seja informado como originado na SEFAZ (indProc = 0).
Totvs custom tabs box | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Informações para Resposta (Response Information)Códigos do Recurso (Response Codes)
Totvs custom tabs box items |
ObjetivoMétodo que permite inserir/atualizar os dados do produto composto, incluindo os dados de produto componente, quantidades, etc. Não é obrigatório o envio dessa informação quando não for utilizado o conceito de Produto Composto. ChamadaPOST /api/v1/importacao/produto/componenteprodutocomposto Informações para Requisição (Request Information)Parâmetros URI (URI Parameters)Não há. Parâmetros do Corpo (Body Parameters)Nome (Name) | Descrição (Description) | Tipo (Type) | Informações Adicionais (Adittional Information) | SEQPRODFINAL* | Código sequencial do produto final que é gerado após a finalização da composição. integer | SEQPRODCOMPONENTE* | Código sequencial do produto que serão componentes na composição do produto final acabado, que deverá estar previamente cadastrada no WMS. integer | NROEMPRESA* | Número da empresa ou código do depositante (quando utilizado Operador Logístico). integer | Valor Máximo: 999 | QTDEMBALAGEM* | Quantidade de unidades dentro de cada embalagem do produto componente na composição do produto final acabado. | integer | Valor Máximo: 999999999999,999999 | QUANTIDADE* | Quantidade utilizada do produto componente na composição do produto final acabado. | integer | Valor Máximo: 999999999999,999 | *Campos Obrigatórios Validações LogísticasAs validações logísticas, não impactam no retorno da requisição. Entretanto, para a correta importação dos componentes do produto, os critérios listados abaixo devem ser atendidos. Caso contrário, será gerada uma crítica logística***, e o registro ficará pendente de verificação por um usuário.
***As críticas logísticas podem ser visualizadas através da aplicação: WMS Centro de Distribuição -> Gerencial -> Consultas -> Exclusão de Rejeições da Importação Automática. Formatos de Request (Request Formats)application/json, text/json
Informações para Resposta (Response Information)Códigos do Recurso (Response Codes)
Totvs custom tabs box items |
PDVTratamento dos campos: Criação dos campos novos da NT 2021.004: Tabela AG1PDVPD: PDV_MSG_ITEM_CONTRIBUINTE VARCHAR2(60) - MENSAGEM ITEM CONTRIBUINTE Tabela AG1WPDVX: PDVX_MSG_ITEM_CONTRIBUINTE VARCHAR2(60) - MENSAGEM ITEM CONTRIBUINTE Alteração na PC_RMS_PDV_EXPORTACAO: Buscar as mensagens por item (Contribuinte e Fiscal). Caso não existam, buscar a mensagem genérica fiscal. Tabela AG1PDVCC: PDVCC_FST_DFD_VAL - Valor FCP ST DIFAL|Valor FECOP-ST DIFAL Destino Tabela AG1PDVCI: PDVCI_FST_DFD_BAS - Base FCP ST DIFAL|Base FECOP-ST DIFAL Destino Tabela PDV_WSIMPORTLOGAG1PDVCC: PDVCC_FST_DFD_VAL - Valor FCP ST DIFAL|Valor FECOP-ST DIFAL Destino Tabela PDV_WSIMPORTLOGAG1PDVCI: PDVCI_FST_DFD_BAS - Base FCP ST DIFAL|Base FECOP-ST DIFAL Destino Totvs custom tabs box items |
Conversão de NFC-eTratamento dos campos: Criação dos campos novos da NT 2021.004: Tabela AG3VNFCC e tabelas mensais AG3VNFCC_aaaamm: NFCC_FST_DFD_VAL - Valor do FCP ST do DIFAL Tabela AG3VNFCI e tabelas mensais AG3VNFCI_aaaamm: NFCI_FST_DFD_BAS - Base de Cálculo do FCP ST do DIFAL Tabela AG3VNFCI_202104 sem os campos novos Executando o programa de NFC-e – VGTUNFCE Mensagem da conversão Conversão efetuada Registro da NFC-e - Seleção Consulta da NFC-e Campos novos adicionados ao registro Tabela alterada Totvs custom tabs box items |
Conversão do Fiscal MensalTratamento dos campos: Criação dos campos novos da NT 2021.004. Campos novos na tabela AA1FFISC e tabelas mensais AA1FFISC_aaaamm: FISC_FST_DFD_BAS - Base de Cálculo do FCP ST do DIFAL Campos novos na tabela AA1FFISI e tabelas mensais AA1FFISI_aaaamm: FISI_FST_DFD_BAS - Base de Cálculo do FCP ST do DIFAL Tabela AA1FFISI_202104 sem os campos novos Executando o Fiscal Mensal – VGLFFISC Mensagem da conversão Conversão efetuada Registro Fiscal Mensal – Seleção Notas Fiscais Importação da nota Nota importada Consulta da nota - Campos novos Tabela alterada Totvs custom tabs box items |
Importação de Notas (Arquivo)Leiaute de importação FIS0001_VGLIMPFS_Layout_de_Importação_de_Movimentos_Fiscais Tratamento dos campos: Campos novos na tabela AW1IMPNI: IMPNI_IDE_FIS - Identificação do campo de Observação do Fisco Inclusão do Registro 12 - Observações do Item com os novos campos de Observações do Item Arquivo textoImportação da nota fiscal de número 200324 Registros novos Importação de notas (VGLIMPFS) Crítica do processamento Arquivo processado Nota incluída (VGLMFISX) Fiscal Mensal (VGLFFISC) – Seleção de mês Seleção da nota Nota Fiscai importada Detalhe com os campos novos de Observações do Produto Totvs custom tabs box items |
Importação de Notas (WS)Leiaute de importação FIS0001 Tabelas de Integração de Movimentos Fiscais VGLIMPFS Tratamento dos campos: Campos novos na tabela AW1IMPNC: IMPNC_FST_DFD_BAS - Base de Cálculo do FECOP-ST DIFAL Destino Campos novos na tabela AW1IMPNI: IMPNI_FST_DFD_BAS - Base de Cálculo do FECOP-ST DIFAL Destino Criação da tabela FIS_LOTE_ITEM_IMP IMPLT_ID - Identificador da NF Importação de XML nos web services SOCIN / TES Na tela Inicial, seleciona “Importação Manual Unitária” Seleciona o arquivo XML para importação Nota importada com sucesso Consulta no Registro Fiscal da nota incluída (VGLMFISX) Consulta detalhes da nota importada no Registro Fiscal (VGLMFISX) Fiscal Mensal (VGLFFISC) – Seleção de mês Seleção da nota Nota Fiscal importada Detalhe com os campos novos de Observações do Produto Detalhe com os Lotes do Produto Totvs custom tabs box items |
Conector NF-eSeguindo a NT2021.004 se faz necessário a inclusão da tag obsItem e seus filhos e atributos. No momento da importação de notas pelo conector, o mesmo verifica se possui tal conteúdo e agrega-os. O mesmo vale para geração do XML. Figura 1 - abaixo mostra o resultado: Além das adequações da NT2021.004 com relação ao obsItem, temos uma situação que, ao cliente fazer muitas consultas à SEFAZ num curto intervalo de tempo, estava sobrecarregando tal serviço. Com isso, a SEFAZ limitou o acesso com penalidade de multa. Para que isso não aconteça, criamos um tratamento para que, ao consultar os XML na SEFAZ, o mesmo seja apenas 1 (hum) no intervalo de 1h (Uma hora). É realizada uma primeira consulta e gravamos o horário desta consulta para que a partir dela dentro de 60 minutos não haja uma nova; Caso haja tal consulta, nosso tratamento bloqueia o acesso e tal informação está disponível no log da aplicação. Quando o serviço for buscar a autorização para fazer consulta à SEFAZ e esta autorização for concedida, será gravado na tabela DFE_CONTROLE seus dados e o horário desta autorização para que, durante 60 minutos, não seja permitida uma nova consulta. Figura 2 - Tabela dfe_controle Figura 3 - Havendo uma nova solicitação de autorização de consulta dentro de 60 minutos da consulta anterior, haverá o bloqueio e informado no log da aplicação que não está disponível no momento. No banco de dados, o avanço de tempo é em decimal. Totvs custom tabs box items |
ParametrizaçãoExclusão das informações de transportador Os testes da NF-e demonstraram que a NF-e é criticada pela SEFAZ quando existe a mesma raiz de CNPJ do emitente e do destinatário no grupo de <transporta> e a modalidade do frete é 3-Transporte próprio por conta do remetente ou 4-Transporte próprio por conta do destinatário. A regra da NF-e que não está sendo tratada de forma coerente é: Para esta situação, que normalmente ocorre com transferências foi criado um parâmetro para excluir as informações do grupo <transporta> e a nota ser autorizada pela SEFAZ. |