> For the complete documentation index, see [llms.txt](https://integracao.gitbook.io/invoisys/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://integracao.gitbook.io/invoisys/getting-started/documentos-fiscais/recebimento/captura-de-pedido-de-compra/fluxo-de-captura-do-pedido-de-compra-nos-documentos-fiscais.md).

# Fluxo de captura do pedido de compra nos documentos fiscais

O fluxo demonstrado a seguir trata o recebimento de NF-e dentro da integração com a InvoiSys.

## Endpoints Essenciais 💡

* [**Criar Pedido de Compra**](/invoisys/endpoints/pedidos-e-transporte/pedido-de-compra/criar-pedido-de-compra.md)
* [**Editar Pedido de Compra**](/invoisys/endpoints/pedidos-e-transporte/pedido-de-compra/editar-pedido-de-compra.md)
* [**Consultar Pedido de Compra**](/invoisys/endpoints/pedidos-e-transporte/pedido-de-compra/consultar-pedido-de-compra.md)
* [**Atualizar dados do Pedido de Compra vinculado**](/invoisys/endpoints/pedidos-e-transporte/pedido-de-compra/atualizar-dados-do-pedido-de-compra-vinculado.md)

## Etapas e seus endpoints

Para detalharmos melhor a operação, separamos em tópicos:

### 1) Consultas periódicas dos documentos fiscais

Após o cadastro da empresa no Portal invoiSys e a configuração do certificado digital, ela estará apta a consultar e receber documentos fiscais diretamente em nossa plataforma, incluindo NF-e, CT-e, NFS-e e Faturas.

Ao receber documentos fiscais via webservice, e-mail ou importação de arquivos XML, a invoiSys verifica os delimitadores personalizados definidos para captura dos pedidos de compra da empresa.

Nos tópicos seguintes, explicaremos o funcionamento da captura por delimitadores customizados e, opcionalmente, por meio da tag oficial `xPed` na NF-e, para identificar os pedidos de compra de forma eficiente e precisa.

### 2) Captura por delimitadores customizados

A invoiSys permite a criação flexível de delimitadores personalizados para capturar pedidos de compra dos vários fornecedores de uma empresa. Reconhecemos a dificuldade de padronizar um único delimitador com fornecedores e seus sistemas distintos; por isso, aceitamos as variações necessárias para adaptar-se à operação do contratante.

Com os delimitadores configurados, o sistema consulta as tags de texto dos documentos fiscais para identificar o pedido de compra inserido pelo fornecedor. As tags analisadas são:

* **NF-e - `infCpl`**: Tag de informações complementares, que permite texto livre.
* **CT-e - `xObs`**: Tag de observações, também usada para texto livre.
* **NFS-e - `discriminacao`**: A análise é feita tanto via webservice quanto por OCR, considerando as variações entre municípios.
* **Fatura - Pedido de Compra**: No layout de e-mail aceito, o campo "Pedido de Compra" é explícito. Quando o fornecedor envia outros dados ou delimitadores, o sistema abstrai as informações necessárias.

Por exemplo, ao configurar um delimitador como "PEDIDOZ", caso o fornecedor envie o pedido com essa referência na tag `infCpl` da NF-e, a invoiSys identificará e exibirá o número capturado diretamente no Portal.

<figure><img src="https://3525778293-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lmo0dH8REcSzSboskDA%2Fuploads%2FfMDLgMfx42J91XfCveWC%2Fimage.png?alt=media&amp;token=2f97040a-4adc-42cb-828d-b19e21862b02" alt="XML da NF-e com a informação do pedido de compra"><figcaption><p>XML da NF-e com um pedido de compra informado</p></figcaption></figure>

<figure><img src="https://3525778293-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lmo0dH8REcSzSboskDA%2Fuploads%2FelVyyBpQDG9jgMQZ0Amc%2Fimage.png?alt=media&amp;token=e884fbc1-0420-4bc7-beed-4f6c619cdd54" alt=""><figcaption><p>invoiSys capturá o pedido por meio de um delimitador e disponibiliza a informação</p></figcaption></figure>

Após a captura, o sistema buscará automaticamente o Pedido de Compra correspondente na base da invoiSys, caso já tenha enviado o pedido previamente via integração. A explicação detalhada sobre a consulta e vinculação será abordada no [Tópico 4.](#id-4-consultando-o-pedido-de-compra-vinculado-ao-documento-fiscal)

### 3) Captura pela tag xPed da NF-e

Simplificadamente, e seguindo o layout padrão da SEFAZ, a invoiSys pode capturar o pedido de compra na NF-e por meio da tag oficial `xPed`. O conceito é o mesmo descrito anteriormente: caso o pedido seja enviado diretamente nessa tag, ele será capturado e disponibilizado na nossa base.

<figure><img src="https://3525778293-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lmo0dH8REcSzSboskDA%2Fuploads%2FRuED3ISgcuikayUxgOIz%2Fimage.png?alt=media&amp;token=a1ad8f4b-c9f1-4ca2-b34e-694793786565" alt=""><figcaption><p>Grupo <code>compra</code>, com o pedido de compra informado na tag xPed</p></figcaption></figure>

Na NF-e, é possível configurar uma hierarquia de captura para o pedido de compra, especificando se o sistema deve primeiro buscar o pedido na tag `xPed` ou diretamente pelo delimitador configurado em `infCpl`, ou vice-versa.

### 4) Consultando o Pedido de Compra vinculado ao documento fiscal

Após a captura do pedido de compra no documento fiscal, ele é inserido em uma fila para que o sistema busque o Pedido de Compra correspondente enviado à base da invoiSys via integração. Esse processo ocorre continuamente, independentemente de o Pedido de Compra ser enviado após a recepção do documento fiscal na base da invoiSys. Dessa forma, asseguramos a vinculação correta entre o pedido de compra e o(s) documento(s) fiscal(is) associado(s).

Portanto, caso opte por utilizar a integração para ter o controle integral, após a [criação do Pedido de Compra](/invoisys/endpoints/pedidos-e-transporte/pedido-de-compra/criar-pedido-de-compra.md), basta [consultá-lo](/invoisys/endpoints/pedidos-e-transporte/pedido-de-compra/consultar-pedido-de-compra.md) regularmente para identificar se houve vinculação, como no caso abaixo:

{% tabs %}
{% tab title="Consulta do Pedido de Compra" %}

```csharp
{
  "docData": {
    "numPedidoCompra": "HI32054",
    "dataEmissao": "2024-06-07T14:21:45.034Z",
    "dataVencimento": "0001-01-01T00:00:00Z",
    "codCondPag": "",
    "descrCondPag": "",
    "centroCusto": "",
    "obs": "",
    "valorTotal": 4070.08,
    "fornecedor": {
      "cnpj": "17921427000125",
      "inscricaoEstadual": "",
      "inscricaoMunicipal": "",
      "razaoSocial": "TRANSPORTADORA TESTE",
      "nomeFantasia": "",
      "logradouro": "AVENIDA DEZ",
      "complLogradouro": null,
      "bairro": "",
      "cidade": "FRONTEIRA",
      "uf": "MG",
      "cep": "38230000",
      "pais": null,
      "responsavel": {
        "nome": "",
        "telefone": "",
        "email": "",
        "contato": null
      }
    },
    "contratante": {
      "cnpj": "17921427000125",
      "inscricaoEstadual": "",
      "inscricaoMunicipal": "",
      "razaoSocial": "CONTRATANTE TESTE",
      "nomeFantasia": "",
      "logradouro": "CONTRATANTE TESTE",
      "complLogradouro": null,
      "bairro": "",
      "cidade": "RESENDE",
      "uf": "RJ",
      "cep": "27534010",
      "pais": null,
      "responsavel": {
        "nome": "",
        "telefone": "",
        "email": "",
        "contato": null
      }
    }
  },
  "docStatus": {
    "status": "VD",
    "statusVinculoItem": null
  },
  "docControl": {
    "origem": "",
    "canal": "",
    "documentosVinculados": [
      {
        "obsPag": null,
        "tipoDocOrigem": "nfe",
        "idDocOrigem": "1111111111111",
        "valor": 3226,
        "numero": "421690",
        "statusVinculoItem": null,
        "dataVinculo": "2024-06-12T18:22:31.132Z",
        "dataEmissao": "2024-05-24T17:42:44Z",
        "validacoes": {
          "CnpjEmitente": "0",
          "CnpjDestinatario": "1",
          "Saldo": "0"
        },
        "statusVinculo": "Dados Divergentes",
        "statusCompra": null,
        "dataProcessamento": "0001-01-01T00:00:00Z",
        "dataPagamentoPrevisto": "0001-01-01T00:00:00Z",
        "dataPagamentoRealizado": "0001-01-01T00:00:00Z"
      },
      {
        "obsPag": null,
        "tipoDocOrigem": "nfse",
        "idDocOrigem": "22222222222222222",
        "valor": 1370,
        "numero": "13068",
        "statusVinculoItem": null,
        "dataVinculo": "2024-06-12T18:26:29.951Z",
        "dataEmissao": "2024-01-30T20:30:24Z",
        "validacoes": {
          "CnpjEmitente": "1",
          "CnpjDestinatario": "0",
          "Saldo": "0"
        },
        "statusVinculo": "Dados Divergentes",
        "statusCompra": null,
        "dataProcessamento": "0001-01-01T00:00:00Z",
        "dataPagamentoPrevisto": "0001-01-01T00:00:00Z",
        "dataPagamentoRealizado": "0001-01-01T00:00:00Z"
      }
    ],
    "items": [
      {
        "nItem": "1.000",
        "descricao": "FRETE 12% ICMS",
        "codigo": "61578",
        "gtin": 0,
        "quantidade": 4070.08,
        "unidadeMedida": "UN",
        "precoUnitario": 1,
        "desconto": 0,
        "total": 4070.08,
        "observacao": null
      }
    ]
  }
}
```

{% endtab %}

{% tab title="Lista de documentos vinculados" %}

```csharp
"documentosVinculados": [
      {
        "obsPag": null,
        "tipoDocOrigem": "nfe",
        "idDocOrigem": "1111111111111",
        "valor": 3226,
        "numero": "421690",
        "statusVinculoItem": null,
        "dataVinculo": "2024-06-12T18:22:31.132Z",
        "dataEmissao": "2024-05-24T17:42:44Z",
        "validacoes": {
          "CnpjEmitente": "0",
          "CnpjDestinatario": "1",
          "Saldo": "0"
        },
        "statusVinculo": "Dados Divergentes",
        "statusCompra": null,
        "dataProcessamento": "0001-01-01T00:00:00Z",
        "dataPagamentoPrevisto": "0001-01-01T00:00:00Z",
        "dataPagamentoRealizado": "0001-01-01T00:00:00Z"
      },
      {
        "obsPag": null,
        "tipoDocOrigem": "nfse",
        "idDocOrigem": "22222222222222222",
        "valor": 1370,
        "numero": "13068",
        "statusVinculoItem": null,
        "dataVinculo": "2024-06-12T18:26:29.951Z",
        "dataEmissao": "2024-01-30T20:30:24Z",
        "validacoes": {
          "CnpjEmitente": "1",
          "CnpjDestinatario": "0",
          "Saldo": "0"
        },
        "statusVinculo": "Dados Divergentes",
        "statusCompra": null,
        "dataProcessamento": "0001-01-01T00:00:00Z",
        "dataPagamentoPrevisto": "0001-01-01T00:00:00Z",
        "dataPagamentoRealizado": "0001-01-01T00:00:00Z"
      }
    ],
```

{% endtab %}
{% endtabs %}
