Comply can automatically save invoice data as metaobjects within Shopify. This enables further integrations with automations or external apps using the metaobjects/create webhook.
Learn how to configure invoice metaobjects in this article (Shopify Plus only).
Main object: Invoice
Property | Type | Description |
| String | Unique invoice number. Format: year-locationId-register-type-sequence |
| String (ISO 8601) | Issue date and time with timezone |
| String | Invoice type: |
| String | Invoice series identifier |
| Array<LineItem> / Null | Product lines. Present in invoices and returns, null in exchanges |
| Array<LineItem> / Null | Added items. Present in exchanges only, null otherwise |
| Array<LineItem> / Null | Removed items. Present in exchanges only, null otherwise |
| Array<PaymentMethod> | Payment methods used |
| Array<TaxBreakdown> | Tax breakdown by rate |
| Number | Total invoice amount. Negative for refunds |
| String | Invoice currency |
| Number | Shopify order ID |
| RectifiedInvoice / Null | Data of the rectified invoice. Present only in rectified invoices |
| Number / Null | Shopify return ID. Present in returns and exchanges |
| Number / Null | Shopify exchange ID. Present in exchanges only |
Object: LineItem
Property | Type | Description |
| String (UUID) | Unique identifier for the line item. For sales, Shopify provides the cart UUID. For returns and exchanges, the line item ID |
| Number | Number of product units |
| String | Product name or description |
| Number | Unit price of the product |
| Boolean | Indicates whether the product is subject to tax |
| Array<TaxLine> | Tax lines applied to the product |
| Number | Shopify product variant ID |
| Boolean | Indicates whether the product is a gift card |
| Array<DiscountAllocation> | Distributed discount allocations |
| Object | Custom product properties |
| String / Null | Attributed user ID. Null if not applicable |
| Number | Shopify product ID |
| Boolean | Indicates whether the product requires a selling plan or subscription |
| Boolean | Indicates whether the product has selling plan groups |
| Array | Product components for bundles |
Object: TaxLine
Property | Type | Description |
| Price | Object containing the tax amount and currency |
| String | Tax name (for example: "ES IVA") |
| String (UUID) | Unique identifier for the tax line |
| Number | Tax rate in decimal format (for example: 0.1 = 10%) |
| Boolean | Indicates whether the tax is enabled |
Object: Price
Property | Type | Description |
| Number | Price or tax amount |
| String | Currency (for example: "EUR") |
Object: DiscountAllocation
Property | Type | Description |
| AllocatedAmount | Allocated discount amount |
Object: AllocatedAmount
Property | Type | Description |
| String | Discount amount allocated |
| String | Discount currency code |
Object: PaymentMethod
Property | Type | Description |
| String | Payment method type (for example: "Cash") |
| Number | Amount paid with this method. Can be negative for returns |
| String | Payment currency |
Object: TaxBreakdown
Property | Type | Description |
| Number | Tax rate in decimal format |
| Number | Total tax amount charged |
| Number | Taxable base amount for this tax |
Important notes
In standard invoices:
lineItemscontains the products.lineItemsAddedandlineItemsRemovedare null.In returns:
shopifyReturnIdis present.lineItemscontains the returned products.In exchanges:
shopifyReturnIdandshopifyExchangeIdare present.lineItemsis null,lineItemsAddedcontains the new products, andlineItemsRemovedcontains the returned ones.Rectified invoices include the
rectifiedInvoiceobject with the data of the original invoice.
