/
/
Key a WooCommerce order into Dynamics GP once, correctly
For order entry teams who want a web order created as a Dynamics GP sales order with exact item matches by asking their AI assistant.
On this page
Connector
Connect WooCommerce, pick your AI tool and paste the prompt.
The problem
Keying web orders into GP, sometimes twice
Keying a web order into Dynamics GP means checking it is not already there, finding the GP customer, matching every SKU to a GP item and retyping prices and freight. One wrong item or a second copy and fulfilment or billing goes wrong.
Without PopdockAI
- Search GP for an existing document
- Find the customer by name
- Match each SKU to a GP item by hand
- Retype prices and freight
With PopdockAI
- It stops if GP already has a document for the order
- The customer is found by email and SKUs matched exactly
- Any unmatched line stops the run
- You approve the order, then it is created and the total compared
The prompt
Use this prompt
Copy it into any AI tool connected to PopdockAI. Swap the values in braces for your own.
**Objective:** Create a Dynamics GP sales order from WooCommerce order {order-number} in batch {batch-number} with SOP document ID {document-id}, for GP customer {gp-customer-id} (default: found from the order's email), after the user confirms.
**Step 1: Make sure it is not already in GP (dynamics-gp)**
Call `dynamics-gp-get-rm-sales-trx` with customer-po-number set to {order-number}. If anything comes back, report the existing SOP number and type and stop.
**Step 2: Read the store order (woocommerce)**
Call `woocommerce-get-order` with order-number set to {order-number}, then `woocommerce-get-order-line` with order-number set to {order-number}. If the order is cancelled, failed or refunded, say so and ask whether to continue.
**Step 3: Resolve the GP customer (dynamics-gp)**
If {gp-customer-id} is given, call `dynamics-gp-get-rm-customer` with customer-id set to it. Otherwise call `dynamics-gp-get-rm-customer` with customer-name.contains set to the order's billing last name and keep only candidates whose main-email-address equals the order's customer-email, ignoring case. Continue only with exactly one customer. If the customer is on hold or inactive, say so in the preview.
**Step 4: Resolve the items (dynamics-gp)**
For each store line call `dynamics-gp-get-iv-item` with item-number set to its line-sku. If any line has no SKU or no GP item, list those lines and stop.
**Step 5: Preview and confirm**
Show: SOP number WEB followed by {order-number} (for example WEB10452), document ID {document-id}, batch {batch-number}, GP customer id, document date (the date part of the order's created-date), customer PO number {order-number}, freight (the order's shipping-total), and each line with item number, quantity and unit price (the store line-price). If the order's discount-total is above 0, say that line prices may already include the discount and ask the user to check them. Ask the user to confirm before writing anything.
**Step 6: Create the header (dynamics-gp)**
Only after the user confirms, call `dynamics-gp-rm-sales-trx-add` with sop-type set to the code for Order that the tool lists, sop-number, document-id, batch-number, customer-id, document-date, customer-po-number set to {order-number}, and freight-amount. Do not pass tax-amount, subtotal or document-amount; GP calculates them. If this call fails, report the error and stop; nothing was written.
**Step 7: Add the lines (dynamics-gp)**
For each line call `dynamics-gp-rm-sales-line-item-add` with sop-number, the same sop-type, document-id, customer-number, item-number, quantity, unit-price, and default-unit-price 0 so GP keeps the store price. If a line fails, stop, and report which lines were added and which failed. Do not retry the header and do not delete anything.
**Step 8: Verify and report (dynamics-gp)**
Call `dynamics-gp-get-rm-sales-trx` with customer-po-number set to {order-number} and `dynamics-gp-get-rm-sales-line-item` with the sop-number. Report the SOP number, the lines created, and the GP document-amount against the store total, explaining any difference (tax calculation, discount or freight).
**Rules & Guidelines:**
* Tools whose names start with woocommerce- are on the woocommerce MCP server; tools whose names start with dynamics-gp- are on the dynamics-gp MCP server. If a tool from either server is not available, stop and say which server is not connected.
* If the user names a Dynamics GP company, pass it as company on every dynamics-gp call.
* Match a store SKU to a GP item number exactly, after trimming spaces. If that fails, try the SKU in upper case once. Never match on descriptions or partial codes.
* The only tools that may write are `dynamics-gp-rm-sales-trx-add` and `dynamics-gp-rm-sales-line-item-add`, only after the one confirmation in step 5, and only for this one order.
* Never create a GP customer. Do not call `dynamics-gp-rm-customer-add`; point the user to the onboard-customer prompt on the dynamics-gp server.
* Do not call `dynamics-gp-rm-trx-add`, `dynamics-gp-rm-sales-trx-update` or `woocommerce-update-order`.
**Validation:**
* If step 3 finds no customer, or several, list what was found, ask for the GP customer id, and stop.
* If the store order has no lines, say so and stop.
* If the GP header is created but GP reports a different SOP number, use the number GP returns for the lines.Who it's for
One answer, three teams that use it
Order entry clerks
Enter web orders without retyping
The sales order is built from the web order with exact item matches, ready to approve.
Post WooCommerce order 2290 to Dynamics GP in batch WEB1102 as ORD-2290.
Operations managers
Stop duplicate orders in GP
Orders already in GP are caught before anything is created, so fulfilment does not ship twice.
Is WooCommerce order 3110 already in Dynamics GP? If not, post it in batch WEB1103.
Finance teams
Check the GP total matches the store
The GP total is compared with the web order after creation, so differences are seen at once.
Create WooCommerce order 1876 in GP as ORD-1876 and confirm the total matches.
How it works
What PopdockAI does when you ask
You give the order number, batch and document ID, and your AI assistant prepares the GP sales order. Nothing is created until you confirm, and no GP customer is ever created.
01
Ask
You give the order number, batch and document ID.
02
Check
It stops if GP already has a sales document for the order.
03
Match
It finds the GP customer by email and each SKU as an exact GP item.
04
Confirm
You approve the sales order, then it is created and the total checked.
What PopdockAI provides
The tools behind the answer
Ready made tools for WooCommerce and one secure connection to your AI tool. No code, no exports.
microsoft-dynamics-gp-get-rm-sales-trx
woocommerce-get-order
woocommerce-get-order-line
microsoft-dynamics-gp-get-rm-customer
microsoft-dynamics-gp-get-iv-item
microsoft-dynamics-gp-rm-sales-trx-add
microsoft-dynamics-gp-rm-sales-line-item-add
microsoft-dynamics-gp-get-rm-sales-line-item
This report is built from Get data tools only. PopdockAI applies the row, field and parameter rules your admin sets, and every query is written to the audit trail.
The outcome
Web orders in GP once, with the right items
Related use cases
More ways to put this data to work
One prompt template with infinite possibilities.
Your AI assistant adapts its approach, tone, and capabilities to match each unique context while you maintain a single, manageable workflow.
Join forward-thinking companies that are transforming their operations with intelligent, secure AI automation.

.webp)
