VTEX Invoice API

The Invoice API from VTEX — 3 operation(s) for invoice.

Documentation

📖
Documentation
https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works
📖
Documentation
https://developers.vtex.com/docs/guides/bulk-import-buyer-organizations-spreadsheet
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-api-seller-portal-overview
📖
Documentation
https://developers.vtex.com/docs/guides/catalog-overview
📖
Documentation
https://developers.vtex.com/docs/guides/checkout-overview
📖
Documentation
https://help.vtex.com/en/tutorial/customer-credit-overview--1uIqTjWxIIIEW0COMg4uE0
📖
Documentation
https://help.vtex.com/en/tutorial/data-subject-rights--6imchxTx09icupKMbzHVIM
📖
Documentation
https://developers.vtex.com/docs/api-reference/do-api
📖
Documentation
https://developers.vtex.com/docs/guides/managing-vtex-gift-cards
📖
Documentation
https://developers.vtex.com/docs/guides/gift-card-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/faststore/headless-cms-overview
📖
Documentation
https://developers.vtex.com/docs/api-reference/vtex-id-api
📖
Documentation
https://help.vtex.com/en/tracks/vtex-intelligent-search--19wrbB7nEQcmwzDPl1l4Cb/3qgT47zY08biLP3d5os3DG
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search@1.0.8
📖
Documentation
https://help.vtex.com/en/tracks/cms--2YcpgIljVaLVQYMzxQbc3z/1oN446gRGcR2s70RvBCAmj
📖
Documentation
https://developers.vtex.com/docs/guides/search-overview
📖
Documentation
https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3
📖
Documentation
https://developers.vtex.com/docs/guides/fulfillment
📖
Documentation
https://developers.vtex.com/docs/guides/marketplace-overview
📖
Documentation
https://developers.vtex.com/updates/release-notes/marketplace-protocol-documentation-update
📖
Documentation
https://developers.vtex.com/docs/guides/external-marketplace-integration-guide
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-connector
📖
Documentation
https://developers.vtex.com/docs/guides/external-seller-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/master-data--4otjBnR27u4WUIciQsmkAw
📖
Documentation
https://help.vtex.com/en/tutorial/understanding-the-message-center--tutorials_84
📖
Documentation
https://developers.vtex.com/docs/guides/orders-overview
📖
Documentation
https://developers.vtex.com/docs/guides/changes-in-vtex-features-behavior-to-handle-pii-data
📖
Documentation
https://help.vtex.com/en/tutorial/payment-provider-protocol--RdsT2spdq80MMwwOeEq0m
📖
Documentation
https://developers.vtex.com/docs/guides/payments-integration-guide
📖
Documentation
https://help.vtex.com/en/tutorial/vtex-pick-and-pack-last-mile--HN7WKV0xoq2ssVjsJlfzr
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-io-documentation-policies
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-hub
📖
Documentation
https://developers.vtex.com/docs/guides/pricing-overview
📖
Documentation
https://developers.vtex.com/docs/guides/profile-system
📖
Documentation
https://developers.vtex.com/docs/guides/promotions-overview
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.reviews-and-ratings
📖
Documentation
https://developers.vtex.com/docs/guides/sent-offers-integration-guide-connectors
📖
Documentation
https://developers.vtex.com/docs/guides/sessions-system-overview
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-shipping-network
📖
Documentation
https://help.vtex.com/en/tutorial/sku-bindings--1SmrVgNwjJX17hdqwLa0TX
📖
Documentation
https://developers.vtex.com/docs/guides/subscriptions
📖
Documentation
https://developers.vtex.com/docs/apps/vtex.search/suggestions
📖
Documentation
https://developers.vtex.com/docs/guides/vtex-tracking

Specifications

OpenAPI Specification

vtex-invoice-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: VTex Anti-fraud Provider Account Invoice API
  description: ">ℹ️ Onboarding guide\r\n>\r\n> Check the new [Payments onboarding guide](https://developers.vtex.com/docs/guides/payments-overview). We created this guide to improve the onboarding experience for developers at VTEX. It assembles all documentation on our Developer Portal about Payments and is organized by focusing on the developer's journey.\r\n\r\nThe Anti-fraud Provider Protocol is a set of definitions to help you integrate your anti-fraud service API into VTEX platform.\r\n\r\nTo achieve this, you need to implement a web API (REST) following the specifications described in this documentation.\r\n\r\n>⚠️ You can also access our [template on GitHub](https://github.com/vtex-apps/antifraud-provider-example) to help you quickly develop your anti-fraud connector using the Anti-fraud Provider Protocol and VTEX IO.\r\n\r\nTo learn more about the Anti-fraud Provider Protocol, check our [developer guide](https://developers.vtex.com/docs/guides/how-the-integration-protocol-between-vtex-and-antifraud-companies-works).\r\n\r\n## Anti-fraud Provider API Index\r\n\r\n### Anti-fraud  Flow\r\n\r\n- `POST` [Send Anti-fraud Pre-Analysis Data (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/pre-analysis)\r\n- `POST` [Send Anti-fraud Data](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/transactions)\r\n- `PUT` [Update Anti-fraud Transactions (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#put-/transactions/-transactionId-)\r\n- `GET` [List Anti-fraud Provider Manifest](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/manifest)\r\n- `GET` [Get Anti-fraud Status](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/transactions/-transactions.id-)\r\n- `DELETE` [Stop Anti-fraud Analysis (optional)](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#delete-/transactions/-transactions.Id-)\r\n\r\n### OAuth Flow\r\n\r\n1. `POST` [Retrieve Token](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#post-/authorization/token)\r\n2. `GET` [Redirect](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/redirect)\r\n3. `GET` [Return to VTEX](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorizationCode)\r\n4. `GET` [Get Credentials](https://developers.vtex.com/docs/api-reference/antifraud-provider-protocol#get-/authorization/credentials)"
  version: '1.0'
servers:
- url: https://{providerApiEndpoint}
  description: Anti-fraud provider endpoint URL.
  variables:
    providerApiEndpoint:
      description: Anti-fraud provider endpoint URL.
      default: '{providerApiEndpoint}'
tags:
- name: Invoice
paths:
  /api/oms/pvt/orders/{orderId}/invoice:
    post:
      tags:
      - Invoice
      summary: VTex Order invoice notification
      description: "This request is used for [invoicing an order](https://help.vtex.com/en/tracks/orders--2xkTisx4SXOWXQel8Jg8sa/2WgQrlHTyVo4hLjhUs1LMT). Entering the order's invoice means it was successfully completed, and the order status can be changed to the `invoiced` in the [order flow](https://help.vtex.com/en/tutorial/order-flow-and-status--tutorials_196). Once an order is `invoiced`, its status cannot be changed. \r\n\r\nAfter the insertion of the invoice, the order's total value will be updated, even in [partial invoice](https://help.vtex.com/en/tracks/orders--2xkTisx4SXOWXQel8Jg8sa/q9GPspTb9cHlMeAZfdEUe) scenarios. \r\n\r\n>❗ To avoid rounding errors, we recommend always sending the object of items being invoiced. \r\n\r\n## Partial invoices \r\n\r\nAfter adding a [partial invoice](https://help.vtex.com/en/tracks/orders--2xkTisx4SXOWXQel8Jg8sa/q9GPspTb9cHlMeAZfdEUe), the order's value will be updated, corresponding to a partial settled value in the VTEX payment gateway. \r\n\r\nPartially invoiced orders cannot be canceled, and cancellation attempts will result in a `400` status code error. If the customer wants to replace or remove items, it is possible to [change the order](https://developers.vtex.com/docs/guides/change-order). \r\n\r\n> The partial invoices feature is available for all VTEX stores. The partial settlement in the gateway is in Beta, and requires a connector with the Payment Provider Protocol. \r\n\r\n## Returning items \r\n\r\nBesides using this endpoint for generating invoices for sold items, you can use it for generating invoices for returned items. You determine this in the request body `type` field by choosing one of the following values: \r\n\r\n- `output`: selling order invoice. \r\n\r\n- `input`: returning items invoice. \r\n\r\nBe aware of generating return invoices only after the full order amount was invoiced, otherwise, no refund will occur. \r\n\r\n## Changing the receipt code \r\n\r\nEvery time this endpoint is called using the same `invoiceNumber`, a new `receipt` code is generated, and it overrides the previous one. By doing this, you cannot change other information, only the `receipt` code.\r\n\r\n## Integration with marketplaces \r\n\r\nThe invoice should be pushed to the fulfillment account, not to the marketplace account. Once the order is invoiced, the seller should use this request to send the invoice information to the marketplace. \r\n\r\nThis endpoint is also used by the seller to send the order tracking information. However, this only should be done after the seller has the tracking information. \r\n\r\n## Permissions\r\n\r\nAny user or [application key](https://developers.vtex.com/docs/guides/api-authentication-using-application-keys) must have at least one of the appropriate [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3) to be able to successfully run this request. Otherwise they will receive a status code `403` error. These are the applicable resources for this endpoint:\r\n\r\n| **Product** | **Category** | **Resource** |\r\n| --------------- | ----------------- | ----------------- |\r\n| OMS | OMS access | **Notify invoice** |\r\n| OMS | OMS access | **Notify refund** | \r\n\r\nYou can [create a custom role](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#creating-a-role) with that resource or use one of the following [predefined roles](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy):\r\n\r\n| **Role** | **Resource** | \r\n| --------------- | ----------------- | \r\n| OMS - Full access | Cancel order |\r\n| IntegrationProfile - Fulfillment Oms | Cancel order |\r\n\r\n>❗ Assigning a [predefined role](https://help.vtex.com/en/tutorial/predefined-roles--jGDurZKJHvHJS13LnO7Dy) to users or application keys usually grants permission to multiple [License Manager resources](https://help.vtex.com/en/tutorial/license-manager-resources--3q6ztrC8YynQf6rdc6euk3). If some of these permissions are not necessary, consider creating a custom role instead. For more information regarding security, see [Best practices for using application keys](https://help.vtex.com/en/tutorial/best-practices-application-keys--7b6nD1VMHa49aI5brlOvJm). \r\n\r\nTo learn more about machine authentication at VTEX, see [Authentication overview](https://developers.vtex.com/docs/guides/authentication)."
      operationId: InvoiceNotification
      parameters:
      - name: Accept
        in: header
        description: HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.
        required: true
        style: simple
        schema:
          type: string
          default: application/json
      - name: Content-Type
        in: header
        description: Describes the type of the content being sent.
        required: true
        style: simple
        schema:
          type: string
          default: application/json
      - name: orderId
        in: path
        description: Unique code that identifies the order whose invoice is being sent.
        example: 1172452900788-01
        required: true
        style: simple
        schema:
          type: string
          example: 1172452900788-01
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceNotificationRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  date:
                    type: string
                    description: Date and time when the notification was received.
                  orderId:
                    type: string
                    description: Identification of the order in the seller.
                  receipt:
                    type: string
                    description: Protocol code generated by the update that identifies the receipt. Every time this endpoint is called using the same `invoiceNumber`, a new `receipt` code is generated, and it overrides the previous one.
              example:
                date: '2014-02-07T15:22:56.7612218-02:00'
                orderId: '123543123'
                receipt: 38e0e47da2934847b489216d208cfd91
      deprecated: false
  /api/oms/pvt/orders/{orderId}/invoice/{invoiceNumber}:
    patch:
      tags:
      - Invoice
      summary: VTex Update order's partial invoice (send tracking number)
      description: "Update a given order, adding its tracking number to its [Partial invoice](https://help.vtex.com/en/tracks/pedidos--2xkTisx4SXOWXQel8Jg8sa/q9GPspTb9cHlMeAZfdEUe).\n\r\n\rAfter using this call to add a tracking number to an order, you can use the [Update order tracking status](https://developers.vtex.com/docs/api-reference/orders-api#put-/api/oms/pvt/orders/-orderId-/invoice/-invoiceNumber-/tracking) API request to add tracking events.\n\r\n\r> The `Notify invoice` resource is needed to use this API request. This is included in `OMS - Full access` and `IntegrationProfile - Fulfillment Oms`, among other default roles available in the Admin. Learn more about the [License manager roles and resources](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc)."
      operationId: Updatepartialinvoice.SendTrackingNumber
      parameters:
      - name: Content-Type
        in: header
        description: Type of the content being sent.
        required: true
        style: simple
        schema:
          type: string
          default: application/json
      - name: Accept
        in: header
        description: HTTP Client Negotiation Accept Header. Indicates the types of responses the client can understand.
        required: true
        style: simple
        schema:
          type: string
          default: application/json
      - name: orderId
        in: path
        description: Unique code that identifies the order whose invoice is being sent.
        example: 1172452900788-01
        required: true
        style: simple
        schema:
          type: string
          example: 1172452900788-01
      - name: invoiceNumber
        in: path
        description: Number that identifies the invoice.
        example: '000030711'
        required: true
        style: simple
        schema:
          type: string
          example: '000030711'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Updatepartialinvoice.SendTrackingNumber.Request'
            example:
              trackingNumber: '87658'
              trackingUrl: https://www.tracking.com/url
              courier: carrierOne
              dispatchedDate: '2022-02-08T13:16:13.4617653+00:00'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Updatepartialinvoice.SendTrackingNumber'
              example:
                date: '2019-02-08T13:16:13.4617653+00:00'
                orderId: 00-v5195004lux-01
                receipt: 527b1ae251264ef1b7a9b597cd8f16b9
      deprecated: false
  /api/orders/pvt/document/{orderId}/invoices:
    post:
      tags:
      - Invoice
      summary: VTex Order invoice notification
      description: "Once the order is invoiced, the seller should use this request to send the invoice information to the marketplace.\n\nWe strongly recommend that you always send the object of the invoiced items. With this practice, rounding errors will be avoided.\n\nIt is not allowed to use the same `invoiceNumber` in more than one request to the Order Invoice Notification endpoint.\n\nBe aware that this endpoint is also used by the seller to send the order tracking information. This, however, should be done in a separate moment, once the seller has the tracking information.\n\r\n\r> The `Notify invoice` resource is needed to use this API request. This is included in `OMS - Full access` and `IntegrationProfile - Fulfillment Oms`, among other default roles available in the Admin. Learn more about the [License manager roles and resources](https://help.vtex.com/en/tutorial/roles--7HKK5Uau2H6wxE1rH5oRbc#)."
      operationId: InvoiceNotification2
      parameters:
      - $ref: '#/components/parameters/Content-Type'
      - $ref: '#/components/parameters/Accept'
      - $ref: '#/components/parameters/orderId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InvoiceNotificationRequest_2'
            example:
              type: Output
              issuanceDate: '2010-01-31'
              invoiceNumber: '9999'
              invoiceValue: '10000'
              invoiceKey: null
              invoiceUrl: null
              courier: null
              trackingNumber: null
              trackingUrl: null
              dispatchedDate: null
              items:
              - id: '1234'
                price: 10000
                quantity: 1
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  date:
                    type: string
                    description: Date and time when the notification was received.
                  orderId:
                    type: string
                    description: Identification of the order in the seller.
                  receipt:
                    type: string
                    description: Protocol code generated by the update. It may be `null`.
                example:
                  date: '2014-02-07T15:22:56.7612218-02:00'
                  orderId: '123543123'
                  receipt: 38e0e47da2934847b489216d208cfd91
        '403':
          description: Forbidden
        '404':
          description: Not found
        '429':
          description: Too many requests
      deprecated: false
components:
  schemas:
    InvoiceNotificationRequest_2:
      title: InvoiceNotificationRequest
      required:
      - type
      - issuedDate
      - invoiceNumber
      - invoiceValue
      - items
      type: object
      properties:
        type:
          type: string
          description: 'The type of invoice. There are two possible values: `"Output"` and `"Input"`. The `"Output"` type should be used when the invoice you are sending is a selling invoice. The `"Input"` type should be used when you send a return invoice.'
          example: Output
        issuedDate:
          type: string
          description: Issuance date of the invoice in ISO format.
          example: '2020-07-15'
        invoiceNumber:
          type: string
          description: Number that identifies the invoice.
          example: '123456789'
        invoiceValue:
          type: string
          description: Total amount being invoiced in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.
          example: 2499
        extraValue:
          type: integer
          description: Extra value in the invoice in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.
          example: 100
        invoiceKey:
          type: string
          nullable: true
          description: Invoice key.
        invoiceUrl:
          type: string
          description: URL of the invoice. Can be used to send the URL of an XML file, for example, which is useful for some integrations.
        courier:
          type: string
          nullable: true
          description: "The name of the carrier responsible for delivering the order.\n\r> This field should only be used when sending **tracking** information. When the request is used for sending the invoice, this field should be left empty (`\"\"`)."
        trackingNumber:
          type: string
          nullable: true
          description: "Code that identifies the order tracking.\n\r> This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`\"\"`)."
        trackingUrl:
          type: string
          nullable: true
          description: "URL used to track the order.\n\r> This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`\"\"`)."
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item1_2'
          description: Array containing the SKUs that are being invoiced.
        cfop:
          type: string
          description: Fiscal code used in Brazil.
          example: '6.104'
        volumes:
          type: integer
          description: Number of volumes in the invoice.
          example: 3
      example:
        type: Output
        issuedDate: '2019-01-30'
        invoiceNumber: '9999'
        invoiceValue: 2499
        extraValue: 100
        invoiceKey: null
        invoiceUrl: null
        courier: null
        trackingNumber: null
        trackingUrl: null
        items:
        - id: '1234'
          price: 10000
          quantity: 1
    InvoiceNotificationRequest:
      title: InvoiceNotificationRequest
      required:
      - type
      - issuanceDate
      - invoiceNumber
      - invoiceValue
      - items
      type: object
      properties:
        type:
          type: string
          description: 'The type of invoice. There are two possible values: **Output** and **Input**. The Output type should be used when the invoice you are sending is a selling invoice. The Input type should be used when you send a return invoice.'
          example: Output
        issuanceDate:
          type: string
          description: The invoice date is when the order was [invoiced](https://help.vtex.com/en/tracks/orders--2xkTisx4SXOWXQel8Jg8sa/2WgQrlHTyVo4hLjhUs1LMT) in the VTEX platform, and the `IssuanceDate` is the date when the merchant registers the order's invoice in the store's system. The `IssuanceDate` can be different from the invoice date, because the merchant can register the invoice days or even months after order invoicing. You must add date and time in this field.
          example: '2019-01-31T18:25:43-05:00'
        invoiceNumber:
          type: string
          description: Unique code that identifies the invoice. When you call this endpoint using the same invoice number, you generate a new `receipt` code.
          example: DFG-v7731485plzv-01
          nullable: true
        invoiceValue:
          type: string
          description: Total amount being invoiced in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.
          example: '2499'
        invoiceKey:
          type: string
          nullable: true
          description: Information about invoice Key.
          example: CFe35201100063960001504590006629690333214542150
        invoiceUrl:
          type: string
          description: URL of the invoice. Can be used to send the URL of an XML file, for example, which is useful for some integrations.
          nullable: true
          example: https://luxstore.com/invoices/24382.pdf
        embeddedInvoice:
          type: string
          nullable: true
          description: XML text of the invoice, not the URL. This field is very important for external marketplace integrations such as Mercado Libre.
          example: "<NFe>\r\n<infNFe Id=\"NFe34687999999090910270550010000000015180000000000\" versao=\"1.10\">\r\n<ide>\r\n<cUF>37</cUF>\r\n<cNF>000005177</cNF>\r\n<natOp>Venda a vista</natOp>\r\n<indPag>0</indPag>\r\n<mod>55</mod>\r\n<serie>1</serie>\r\n<nNF>1</nNF>\r\n<dEmi>2018-07-06</dEmi>\r\n<dSaiEnt>2018-07-06</dSaiEnt>\r\n<tpNF>0</tpNF>\r\n<cMunFG>79950308</cMunFG>\r\n<tpImp>1</tpImp>\r\n<tpEmis>1</tpEmis>\r\n<cDV>3</cDV>\r\n<tpAmb>2</tpAmb>\r\n<finNFe>1</finNFe>\r\n<procEmi>0</procEmi>\r\n<verProc>NF-eletronica.com</verProc>\r\n</ide>\r\n<emit>\r\n<CNPJ>99999090998760</CNPJ>\r\n<xNome>NF-e Associacao NF-e</xNome>\r\n<xFant>NF-e</xFant>\r\n<enderEmit>\r\n<xLgr>Rua Central</xLgr>\r\n<nro>100</nro>\r\n<xCpl>Fundos</xCpl>\r\n<xBairro>Distrito Industrial</xBairro>\r\n<cMun>0000000</cMun>\r\n<xMun>Município</xMun>\r\n<UF>SP</UF>\r\n<CEP>0000000</CEP>\r\n<cPais>1058</cPais>\r\n<xPais>Brasil</xPais>\r\n<fone>1733021717</fone>\r\n</enderEmit>\r\n<IE>123456789012</IE>\r\n</emit>\r\n<dest>\r\n<CNPJ>00000000000000</CNPJ>\r\n<xNome>DISTRIBUIDORA DE AGUAS MINERAIS</xNome>\r\n<enderDest>\r\n<xLgr>AV DAS FONTES</xLgr>\r\n<nro>1777</nro>\r\n<xCpl>1001 ANDAR</xCpl>\r\n<xBairro>PARQUE</xBairro>\r\n<cMun>0000000</cMun>\r\n<xMun>Sao Paulo</xMun>\r\n<UF>SP</UF>\r\n<CEP>00000000</CEP>\r\n<cPais>1058</cPais>\r\n<xPais>BRASIL</xPais>\r\n<fone>3900000000</fone>\r\n</enderDest>\r\n<IE> </IE>\r\n</dest>\r\n<retirada>\r\n<CNPJ>000000000004</CNPJ>\r\n<xLgr>AV PAULISTA</xLgr>\r\n<nro>12345</nro>\r\n<xCpl>TERREO</xCpl>\r\n<xBairro>CERQUEIRA CESAR</xBairro>\r\n<cMun>0000000</cMun>\r\n<xMun>SAO PAULO</xMun>\r\n<UF>SP</UF>\r\n</retirada>\r\n<entrega>\r\n<CNPJ>00000000299000194</CNPJ>\r\n<xLgr>AV FARIA LIMA</xLgr>\r\n<nro>154400</nro>\r\n<xCpl>156 ANDAR</xCpl>\r\n<xBairro>PINHEIROS</xBairro>\r\n<cMun>0000308</cMun>\r\n<xMun>SAO PAULO</xMun>\r\n<UF>SP</UF>\r\n</entrega>\r\n<det nItem=\"1\">\r\n<prod>\r\n<cProd>00001</cProd>\r\n<cEAN/>\r\n<xProd>Agua Mineral</xProd>\r\n<CFOP>5101</CFOP>\r\n<uCom>dz</uCom>\r\n<qCom>1000000.0000</qCom>\r\n<vUnCom>1</vUnCom>\r\n<vProd>10000000.00</vProd>\r\n<cEANTrib/>\r\n<uTrib>und</uTrib>\r\n<qTrib>12000000.0000</qTrib>\r\n<vUnTrib>1</vUnTrib>\r\n</prod>\r\n<imposto>\r\n<ICMS>\r\n<ICMS00>\r\n<orig>0</orig>\r\n<CST>00</CST>\r\n<modBC>0</modBC>\r\n<vBC>10000000.00</vBC>\r\n<pICMS>18.00</pICMS>\r\n<vICMS>1800000.00</vICMS>\r\n</ICMS00>\r\n</ICMS>\r\n<PIS>\r\n<PISAliq>\r\n<CST>01</CST>\r\n<vBC>10000000.00</vBC>\r\n<pPIS>0.65</pPIS>\r\n<vPIS>65000</vPIS>\r\n</PISAliq>\r\n</PIS>\r\n<COFINS>\r\n<COFINSAliq>\r\n<CST>01</CST>\r\n<vBC>10000000.00</vBC>\r\n<pCOFINS>2.00</pCOFINS>\r\n<vCOFINS>200000.00</vCOFINS>\r\n</COFINSAliq>\r\n</COFINS>\r\n</imposto>\r\n</det>\r\n<det nItem=\"2\">\r\n<prod>\r\n<cProd>00002</cProd>\r\n<cEAN/>\r\n<xProd>Agua Mineral</xProd>\r\n<CFOP>5101</CFOP>\r\n<uCom>pack</uCom>\r\n<qCom>5000000.0000</qCom>\r\n<vUnCom>2</vUnCom>\r\n<vProd>10000000.00</vProd>\r\n<cEANTrib/>\r\n<uTrib>und</uTrib>\r\n<qTrib>3000000.0000</qTrib>\r\n<vUnTrib>0.3333</vUnTrib>\r\n</prod>\r\n<imposto>\r\n<ICMS>\r\n<ICMS00>\r\n<orig>0</orig>\r\n<CST>00</CST>\r\n<modBC>0</modBC>\r\n<vBC>10000000.00</vBC>\r\n<pICMS>18.00</pICMS>\r\n<vICMS>1800000.00</vICMS>\r\n</ICMS00>\r\n</ICMS>\r\n<PIS>\r\n<PISAliq>\r\n<CST>01</CST>\r\n<vBC>10000000.00</vBC>\r\n<pPIS>0.65</pPIS>\r\n<vPIS>65000</vPIS>\r\n</PISAliq>\r\n</PIS>\r\n<COFINS>\r\n<COFINSAliq>\r\n<CST>01</CST>\r\n<vBC>10000000.00</vBC>\r\n<pCOFINS>2.00</pCOFINS>\r\n<vCOFINS>200000.00</vCOFINS>\r\n</COFINSAliq>\r\n</COFINS>\r\n</imposto>\r\n</det>\r\n<total>\r\n<ICMSTot>\r\n<vBC>20000000.00</vBC>\r\n<vICMS>18.00</vICMS>\r\n<vBCST>0</vBCST>\r\n<vST>0</vST>\r\n<vProd>20000000.00</vProd>\r\n<vFrete>0</vFrete>\r\n<vSeg>0</vSeg>\r\n<vDesc>0</vDesc>\r\n<vII>0</vII>\r\n<vIPI>0</vIPI>\r\n<vPIS>130000.00</vPIS>\r\n<vCOFINS>400000.00</vCOFINS>\r\n<vOutro>0</vOutro>\r\n<vNF>20000000.00</vNF>\r\n</ICMSTot>\r\n</total>\r\n<transp>\r\n<modFrete>0</modFrete>\r\n<transporta>\r\n<CNPJ>00000000000000</CNPJ>\r\n<xNome>Distribuidora de Bebidas Fazenda de SP Ltda.</xNome>\r\n<IE>00000000999119</IE>\r\n<xEnder>Rua Central 100 - Fundos - Distrito Industrial</xEnder>\r\n<xMun>SAO PAULO</xMun>\r\n<UF>SP</UF>\r\n</transporta>\r\n<veicTransp>\r\n<placa>BXI1717</placa>\r\n<UF>SP</UF>\r\n<RNTC>123456789</RNTC>\r\n</veicTransp>\r\n<reboque>\r\n<placa>UUU0000</placa>\r\n<UF>SP</UF>\r\n<RNTC>123456789</RNTC>\r\n</reboque>\r\n<vol>\r\n<qVol>10000</qVol>\r\n<esp>CAIXA</esp>\r\n<marca>LINDOYA</marca>\r\n<nVol>500</nVol>\r\n<pesoL>1000000000.000</pesoL>\r\n<pesoB>1200000000.000</pesoB>\r\n<lacres>\r\n<nLacre>XYZ10231486</nLacre>\r\n</lacres>\r\n</vol>\r\n</transp>\r\n<infAdic>\r\n<infAdFisco>Nota Fiscal de exemplo NF-eletronica.com</infAdFisco>\r\n</infAdic>\r\n</infNFe>\r\n<Signature>\r\n<SignedInfo>\r\n<CanonicalizationMethod Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-0321120010315\"/>\r\n<SignatureMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#rsa-sha1\"/>\r\n<Reference URI=\"#NFe3508059999977777777705500100000000000000000\">\r\n<Transforms>\r\n<Transform Algorithm=\"http://www.w3.org/2000/09/xmldsig#enveloped-signature\"/>\r\n<Transform Algorithm=\"http://www.w3.org/TR/2001/REC-xml-c14n-66666615\"/>\r\n</Transforms>\r\n<DigestMethod Algorithm=\"http://www.w3.org/2000/09/xmldsig#sha1\"/>\r\n<DigestValue>xFzhgdgnhjSD1e9uqe04lnoHT4ZzLSY=</DigestValue>\r\n</Reference>\r\n</SignedInfo>\r\n<SignatureValue>\r\nIz5Z3PLQbzZt9jnBtr6xsmHZMOu/3plXG9xxfFjRCQYGnD1rjlhzBGrqt026Ca2VHHM/bHNepi6FuFkAi595GScKVuHREUotzifE2OIjgavvTOrMwbXG7+0LYgkwPFiPCao2S33UpZe7MneaxcmKQGKQZw1fP8fsWmaQ4cczZT8=\r\n</SignatureValue>\r\n<KeyInfo>\r\n<X509Data>\r\n<X509Certificate>\r\nMIIEuzCCA6OgAwIBAgIDMTMxMA0GasfFSDAGQUAMIGSMQswCQYDVQQGEwJCUjELMAkGA1UECBMCUlMxFTATBgNVBAcTDFBvcnRvIEFsZWdyZTEdMBsGA1UEChMUVGVzdGUgUHJvamV0byBORmUgUlMxHTAbBgNVBAsTFFRlc3RlIFByb2pldG8gTkZlIFJTMSEwHwYDVQQDExhORmUgLSBBQyBJbnRlcm1lZGlhcmlhIDEwHhcNMDgwNDI4MDkwMTAyWhcNMDkwNDMwMjM1OTU5WjCBnjELMAkGA1UECBMCUlMxHTAfvw4567DRhg76FByb2pldG8gTkZlIFJTMR0wGwYDVQQKExRUZXN0ZSBQcm9qZXRvIE5GZSBSUzEVMBMGA1UEBxMMUE9SVE8gQUxFR1JFMQswCQYDVQQGEwJCUjEtMCsGA1UEAxMkTkZlIC0gQXNzb2NpYWNhbyBORi1lOjk5OTk5MDkwOTEwMjcwMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDh6RRv0bj4RYX+tDQrZRb5opa77LBVVs+6LphIfSF3TSWPfnKh0+xLlBFdmnB5YGgbbW9Uon6pZQTfaC8jZhRhI5eFRRofY/Ugoeo0NGt6PcIQNZQd6lLQ/ASd1qWwjqJoEa7udriKjy3h351Mf1bng1VxS1urqC3Dn39ZWIEwQIDAQABo4IBjjCCAYowIgYDVR0jAQEABBgwFoAUPT5TqhNWAm+ZpcVsvB7malDBjEQwDwYDVR0TAQH/BAUwAwEBADAPBgNVHQ8BAf8EBQMDAOAAMAwGA1UdIAEBAAQCMAAwgbwGA1UdEQEBAASBsTCBrqA4BgVgTAEDBKAvBC0wNzA4MTk1MTE1MTk0NTMxMDg3MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDCgHQYFYEwBAwKgFAQSRmVybmFuZG8gQ2FudG8gQWx0oBkGBWBMAQMDoBAEDjk5OTk5MDkwOTEwMjcwoBcGBWBMAQMHoA4EDDAwMDAwMDAwMDAwMIEfZmVybmFuZG8tYWx0QHByb2NlcmdzLnJzLmdvdi5icjAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwUwYDVR0fAQEABEkwRzBFoEOgQYY/aHR0cDovL25mZWNlcnRpZmljYWRvLnNlZmF6LnJzLmdvdi5ici9MQ1IvQUNJbnRlcm1lZGlhcmlhMzguY3JsMA0GCSqGSIb3DQEBBQUAA4IBAQCNPpaZ3Byu3/70nObXE8NiM53j1ddIFXsb+v2ghCVd4ffExv3hYc+/a3lfgV8H/WfQsdSCTzS2cHrd4Aasr/eXfclVDmf2hcWz+R7iysOHuT6B6r+DvV3JcMdJJCDdynR5REa+zViMnVZo1G3KuceQ7/y5X3WFNVq4kwHvonJ9oExsWyw8rTwUK5bsjz0A2yEwXkmkJIngnF41sP31+9jCImiqkXcmsesFhxzX7iurAQAQCZOm7iwMWxQKcAjXCZrgSZWRQy6mU224sX3HTArHahmLJ9Iw+WYAua5qBJsiN6PC7v5tfhdsgGD46DHMnOecxvkkPolDUyBa7d7xwgm\r\n</X509Certificate>\r\n</X509Data>\r\n</KeyInfo>\r\n</Signature>\r\n</NFe>"
        courier:
          type: string
          nullable: true
          description: The name of the carrier responsible for delivering the order. *This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`""`)*.
          example: carrierOne
        trackingNumber:
          type: string
          nullable: true
          description: The number code that identifies the order tracking. *This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`""`)*.
          example: '87658'
        trackingUrl:
          type: string
          nullable: true
          description: The URL used to track the order. *This field should only be used when sending the **tracking** information. When the request is used for sending the invoice, this field should be left empty (`""`)*.
          example: https://www.tracking.com/url
        dispatchedDate:
          type: string
          nullable: true
          description: Order dispatch date. May be `null`.
          example: '2019-02-08T13:16:13.4617653+00:00'
        items:
          type: array
          items:
            $ref: '#/components/schemas/Item1'
          description: Array containing the SKUs that are being invoiced.
      example:
        type: Output
        issuanceDate: 2019-01-302019-01-31T18:25:43-05:00
        invoiceNumber: '9999'
        invoiceValue: '10000'
        invoiceKey: null
        invoiceUrl: null
        courier: null
        trackingNumber: null
        trackingUrl: null
        dispatchedDate: '2019-01-31T18:25:43-05:00'
        items:
        - id: '1234'
          price: 10000
          quantity: 1
    Item1_2:
      title: Item1
      required:
      - itemIndex
      - price
      - quantity
      type: object
      properties:
        itemIndex:
          type: string
          description: Index of the SKU being invoiced.
          example: 67
        price:
          type: integer
          format: int32
          description: Total price of the SKU being invoiced in cents. Do not use any decimal separator. For instance, `$24.99` should be represented as `2499`.
          example: 2499
        quantity:
          type: integer
          format: int32
          description: Quantity cof the SKU being invoiced.
          example: 3
      example:
        id: '1234'
        price: 10000
        quantity: 1
    Updatepartialinvoice.SendTrackingNumber:
      title: Updatepartialinvoice.SendTrackingNumber
      required:
      - date
      - orderId
      - receipt
      type: object
      properties:
        date:
          type: string
        orderId:
          type: string
        receipt:
          type: string
      example:
        date: '2019-02-08T13:16:13.4617653+00:00'
        orderId: 00-v5195004lux-01
        receipt: 527b1ae251264ef1b7a9b597cd8f16b9
    Updatepartialinvoice.SendTrackingNumber.Request:
      title: Updatepartialinvoice.SendTrackingNumber.Request
      required:
      - trackingNumber
      - trackingUrl
      - courier
      - dispatchedDate
      type: object
      properties:
        trackingNumber:
          type: string
          description: The number code that identifies the order tracking.
        trackingUrl:
          type: string
          nullable: true
          description: Package tracking URL.
        dispatchedDate:
          type: string
          nullable: true
          description: Date when the package was dispatched. For example, 2023-01-08T13:16:13.4617653+00:00.
        courier:
          type: string
          nullable: true
          description: The name of the carrier responsible for delivering the order.
      example:
        trackingNumber: '87658'
        trackingUrl: https://www.tracking.com/url
        courier: carrierOne
        dispatchedDate: '2022-02-08T13:16:13.4617653+00:00'
    Item1:
      title: Item1
      required:
      - id
      - price
      - quantity
      type: object
      properties:
        id:
          type: string
          description: ID of the SKU being invoiced.
        price:
          type: integer
          description: Price in cents of the SKU being invoiced. Do not use a decimal separator, for example, the price $24.99 corresponds to `2499`. You must insert the SKU unitary price because the VTEX system will multiply the price over the quantity.
          example: 2499
        description:
          type: string
          description: You can use this field for additional information about the SKU being invoiced.
          example: '335'
        q

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vtex/refs/heads/main/openapi/vtex-invoice-api-openapi.yml