If you build or maintain apps that interact with Shopify POS, the newest GraphQL Admin API change is a game‑changer. Starting with the 2026-10 version, the PointOfSaleDevice object now exposes a nullable fiscalDeviceIdentifier field. This field holds the Shopify‑assigned fiscal register identifier (the manufacturing number that merchants must register with local tax authorities, starting with Sweden). In this post we’ll break down what the update means, who needs to act, and exactly how to incorporate the new field into your code.
What Changed
The PointOfSaleDevice object—already a cornerstone for POS‑related queries—gains a new, nullable string field called fiscalDeviceIdentifier. When a device is located in a country with mandatory cash‑register registration (Sweden is the first), the API returns the manufacturer’s serial number that the merchant registers with the tax agency (e.g., Sweden’s tillverkningsnummer). For all other locations, the field returns null. The field is stable for the lifetime of the device’s registration, meaning you can safely cache it.
Who Is Affected
The update is relevant only for apps that support in‑person fiscal compliance workflows—think fiscal transaction signing, journal reporting, or any feature that needs to prove a sale was processed on a registered cash register. If your app simply displays POS data, manages inventory, or runs marketing automations, you can ignore the change. Merchants themselves won’t notice anything new in the UI; the impact is purely on the data layer your app consumes.
How to Query the New Field
Using the 2026-10 GraphQL Admin API version, pull the identifier with a straightforward query:
graphql
query {
pointOfSaleDevice(id: "gid://shopify/PointOfSaleDevice/123") {
fiscalDeviceIdentifier
}
}
If the device belongs to a Swedish location (or any future supported country), the response will contain the fiscal identifier; otherwise you’ll receive null. Remember to request the 2026-10 version explicitly or set your app’s API version to the latest to avoid older schemas that lack the field.
Integrating with POS UI Extensions
POS UI Extensions can now discover the device they’re running on via the session object. Starting with the 2026-04 POS UI Extensions API, you have access to session.deviceId. Combine this ID with the GraphQL query above to retrieve the fiscal identifier for the exact terminal the merchant is using.
javascript
// Example in a POS UI Extension
import { useExtensionApi } from '@shopify/pos-ui-extensions';
const {session} = useExtensionApi();
const deviceId = session.deviceId; // e.g. "gid://shopify/PointOfSaleDevice/456"
await fetch('/admin/api/2026-10/graphql.json', {
method: 'POST',
headers: {'Content-Type': 'application/json', 'X-Shopify-Access-Token': token},
body: JSON.stringify({
query: query GetFiscalId($id: ID!) {\n pointOfSaleDevice(id: $id) {\n fiscalDeviceIdentifier\n }\n},
variables: {id: deviceId}
})
});
The returned identifier can then be stored in your extension’s local state or sent to your backend for journal generation, digital signing, or any compliance‑related logic you implement.
Practical Implementation Tips
Conclusion & Next Steps
The new fiscalDeviceIdentifier field equips developers with the exact piece of data needed for modern, tax‑compliant POS solutions. By adding a few lines of GraphQL and leveraging the session.deviceId in POS UI Extensions, you can future‑proof your app for Sweden and any additional countries Shopify adds next.
Ready to get compliant? Update your app’s API version, add the query, and start caching the identifier today. Need help or have questions? Drop a comment below or reach out to our developer support team—let’s make fiscal compliance seamless for every Shopify merchant.
