microsoft / microsoft/BCApps

[Bug]: Shopify Connector – Fulfillment "Delivered At" timestamp is not imported

Open
#10,362 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Approved Team: Integrations
Dominant language
AL
Stars
683
Forks
459
Avg merge
3d 26m
Merged PRs (30d)
633

Description

Describe the issue

The Shopify GraphQL query used to fetch order fulfillments (GetOrderFulfillment.graphql) and the Shpfy Order Fulfillments codeunit don't capture the fulfillment's deliveredAt timestamp from Shopify. The Shpfy Order Fulfillment table (30111) has no field to store it — even though the test mock data in ShpfyOrderFulfillmentsTest.Codeunit.al already adds a deliveredAt property to its generated fulfillment JSON, suggesting this was anticipated but never finished. Separately, ShpfyExportShipments.Codeunit.al already queries deliveredAt inline for a different flow but discards it without parsing it into anything.

Expected behavior

When a fulfillment is imported from Shopify, its deliveredAt value should be parsed and stored on the Shpfy Order Fulfillment record — the same way createdAt/updatedAt already are — and shown on the Order Fulfillment pages so users can see when a shipment was actually delivered.

Steps to reproduce
  1. Fulfill and deliver an order in Shopify so the fulfillment has a deliveredAt value set.
  2. Sync the order's fulfillment into Business Central via the Shopify connector.
  3. Open the Order Fulfillment page/table for that fulfillment in Business Central.
  4. There's no field showing when it was delivered — the data exists in Shopify but the connector never requests or stores it.
Additional context
  • GetOrderFulfillment.graphql doesn't request deliveredAt.
  • Shpfy Order Fulfillment (table 30111) has no matching field; next available field number is 19.
  • ImportFulfillment in ShpfyOrderFulfillments.Codeunit.al parses createdAt/updatedAt via JsonHelper.GetValueIntoField but not deliveredAt.
  • I have a fix ready (query, table field, parsing, page display, and an updated unit test) and intend to submit it as a linked PR.
I will provide a fix for a bug
  • I will provide a fix for a bug

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with GetOrderFulfillment.graphql, ShpfyOrderFulfillments.Codeunit.al, the Shpfy Order Fulfillment table and page, and ShpfyOrderFulfillmentsTest.Codeunit.al. Compare deliveredAt with the existing createdAt and updatedAt handling, then run the fulfillment test. Done means the value is requested, stored, displayed, and covered by the updated test.

Written by the indexing model from the issue text.

Assessment

Tech stack
graphql
Domain
api, backend, database
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
72/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.