Envio da Prévia da NF-e
O evento de Envio de Prévia da NF-e permite que seja enviado para o InvoiCy, o resumo de um documento fiscal, que deverá conter apenas algumas das principais informações da NF-e.
Ao receber a estrutura da prévia, o InvoiCy criará um registro da nota na tela de documentos em digitação. Para que, posteriormente, este documento seja preenchido manualmente pelo usuário e emitido através da tela de digitação do documento no InvoiCy.
Envio da Prévia via Web Service
O layout para envio da prévia segue a mesma estrutura do layout de envio da NF-e, onde deve ser incluído apenas o campo NumeroPedido, e substituída a tag pai Envio por EnvioPrevia. Para visualizar o layout de envio da NF-e, clique aqui.
Para realizar o envio deste evento via SOAP, é necessário estabelecer uma comunicação com o Web Service apropriado. Primeiramente, visualize a estrutura WSDL do mesmo:
- Homologação: https://homolog.invoicy.com.br/arecepcaoprevia.aspx?wsdl
- Produção: https://app.invoicy.com.br/arecepcaoprevia.aspx?wsdl
Em seguida, será necessário realizar o consumo do Web Service para efetuar a integração.
Inicialmente, preencha o XML de envio com as informações necessárias para realizar o envio do evento. Em seguida, é realizada a geração do hash MD5, conforme orientações do artigo de referência. Além disso, o XML deve ser linearizado, convertido para texto e enviado dentro da tag <inv:Documento> na estrutura SOAP, conforme demonstrado a seguir:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="InvoiCy">
<soapenv:Header/>
<soapenv:Body>
<inv:recepcao.Execute>
<inv:Invoicyrecepcao>
<inv:Cabecalho>
<inv:EmpPK>ABCabcCBAcbaA+CabcCBAc==</inv:EmpPK>
<inv:EmpCK>2484e103e2b9de5786444fc05182c15f</inv:EmpCK>
<inv:EmpCO></inv:EmpCO>
</inv:Cabecalho>
<inv:Informacoes>
<inv:Texto></inv:Texto>
</inv:Informacoes>
<inv:Dados>
<inv:DadosItem>
<inv:Documento><!-- (1) --></inv:Documento>
<inv:Parametros></inv:Parametros>
</inv:DadosItem>
</inv:Dados>
</inv:Invoicyrecepcao>
</inv:recepcao.Execute>
</soapenv:Body>
</soapenv:Envelope>
- Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.
No caso de sucesso na emissão, serão retornados o código de retorno "100" e a mensagem "Prévia da NF-e recebida, acesse o InvoiCy para concluir a emissão.". No entanto, se ocorrer alguma falha na emissão, a mesma será retornada e poderá ser corrigida.
O número do pedido é único para cada documento enviado, ou seja, para cada novo número de pedido será gerado um novo documento. Se o número do pedido enviado já existir no InvoiCy e a nota ainda estiver em digitação, os dados do documento serão atualizados.
No entanto, se o número do pedido já existir no InvoiCy, mas a nota não estiver mais em digitação, ou seja, estiver com status final (autorizada, rejeitada, cancelada), será retornada uma mensagem informando que o número do pedido corresponde a um documento já emitido.
Não é obrigatório informar a série para o envio da prévia. Todavia, se isso ocorrer o InvoiCy irá pegar a série que está cadastrada como padrão para a empresa, e gerar o documento seguindo a numeração já existente. Caso o cliente informe uma série, mas a mesma ainda não está cadastrada, o InvoiCy irá cadastrar a série para a empresa, porém não como série padrão.
Além do mais, se o cliente informar somente o código de um produto que já esteja cadastrado para a empresa, o restante das informações será apresentado quando o cliente acessar o documento em digitação, de acordo com o cadastro do item. Da mesma forma, caso o cliente informe apenas o CNPJ do destinatário e/ou transportador, as informações serão acrescentadas ao documento em digitação de acordo com o cadastro de pessoas.
Quando o usuário informar o código de um produto, CNPJ do destinatário ou transportador já existente no InvoiCy, porém com mais algumas informações, estas informações serão atualizadas nos devidos cadastros. O cliente também tem a opção de informar um produto, destinatário ou transportador que ainda não esteja cadastrado no InvoiCy, então no momento de recebimento da prévia os mesmos serão cadastrados de acordo com as informações recebidas.
Se uma nota que não está no InvoiCy for referenciada, é preciso enviar os campos refNFe, serie_refNFE, nNF_refNFE e refTipo para que a mesma seja exibida em tela.
Com o recebimento da prévia no InvoiCy, será gerado um registro da NF-e na tela de documentos em digitação, que poderá ser complementado e emitido pelo usuário posteriormente.
Consulta via Web Service
Após o envio da prévia, o cliente tem a possibilidade de executar uma consulta para visualizar os documentos que ainda estão em digitação.
Para isso basta enviar a mesma estrutura de consulta de documentos do InvoiCy, juntamente com parâmetros específicos. Segue abaixo um exemplo de envio de consulta pra documentos em digitação:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="InvoiCy">
<soapenv:Header/>
<soapenv:Body>
<inv:recepcao.Execute>
<inv:Invoicyrecepcao>
<inv:Cabecalho>
<inv:EmpPK>ABCabcCBAcbaA+CabcCBAc==</inv:EmpPK>
<inv:EmpCK>bea599d2a49eda45857ef61a236c87ea</inv:EmpCK>
<inv:EmpCO></inv:EmpCO>
</inv:Cabecalho>
<inv:Informacoes>
<inv:Texto></inv:Texto>
</inv:Informacoes>
<inv:Dados>
<inv:DadosItem>
<inv:Documento><!-- (1) --></inv:Documento>
<inv:Parametros><!-- (2) --></inv:Parametros>
</inv:DadosItem>
</inv:Dados>
</inv:Invoicyrecepcao>
</inv:recepcao.Execute>
</soapenv:Body>
</soapenv:Envelope>
- Neste campo, informe o XML de envio. Para visualizar um exemplo de envio, clique aqui.
- Neste campo, informe os parâmetros de consulta. Para visualizar um exemplo destes parâmetros, clique aqui.
Em ParametrosConsulta deve ser acrescentada a tag DocumentosDigitacao, com a informação "S".
No caso de sucesso na consulta, serão retornados o código de retorno "100" e a mensagem "". No entanto, se ocorrer alguma falha na consulta, a mesma será retornada e poderá ser corrigida.
Envio da Prévia via REST
Para realizar o envio do evento "Envio da Prévia da NF-e" via API REST, é necessário enviar uma estrutura específica, que pode ser consultada na documentação REST, clicando aqui.