Fix: Stuck Order Generation, Double Revenue & ERP Issues
Troubleshoot stuck order generation, double-counted revenue in Shopify reports, aggregate order fulfillment, and ERP integration issues.
Orders Stuck During Generation
What you're seeing: The Send status shows "Generating orders" or "Pausing generating orders" and doesn't progress, even after waiting a few minutes.
Why this happens: Stuck Sends are usually the result of a brief network interruption or a data issue with a specific recipient row. The generation process creates each recipient order sequentially, and an issue partway through can leave the Send in a stuck state.
How to fix it:
- Wait a few minutes. Some apparent freezes resolve on their own as the system retries.
- If the Send still hasn't progressed after a few minutes, contact support with your Send ID. We can identify what caused the stall and push the generation through or reset the stuck state.
Orders Not Flowing into Your ERP or Fulfillment System
What you're seeing: Recipient orders generated by Send To Many aren't appearing in your ERP, OMS, or third-party fulfillment system (ShipStation, Mach, etc.), even though they show up in Shopify admin.
Why this happens: Send To Many creates orders with several properties that differ from standard Shopify orders. If your ERP or fulfillment system filters orders based on any of these properties, the orders may get silently excluded:
- Source/app attribution: Orders are created "via import" by Send To Many. Systems that filter by order source or sales channel may skip these.
- Payment gateway: The payment gateway on recipient orders is
send_to_manyandmanual_payment_gatewayistrue. ERPs that filter by payment method or flag manual payment orders may exclude them. - Contact email: When notifications are suppressed, the order contact email is
suppressed+{send_id}@sendtomany.cominstead of a real customer email. Systems that validate or match on contact email may reject these orders. - Customer record: The billing customer's email is always in
order.customer.email. The suppressed address is only inorder.email(the contact email field). Some systems conflate these two fields. - Financial status: Recipient orders may show different financial statuses depending on your revenue handling settings. Some ERP systems ignore $0 value orders entirely. If your recipient orders use $0 values and aren't flowing through, switching to calculated totals on your Send preset may resolve the issue.
How to fix it:
- Review your ERP or fulfillment system's order import filters. Look for rules based on payment gateway, order source, financial status, or contact email.
- Ensure your system accepts orders with the
send_to_manypayment gateway andmanual_payment_gateway = true. - If your system matches orders to customer records using email, make sure it uses
order.customer.email(the billing customer), notorder.email(the contact email). - Check whether your system has fraud detection rules that might flag these orders. The combination of a non-standard payment gateway and a suppressed email address can trigger fraud holds in some systems.
If you're still having trouble, contact us with the name of your ERP/fulfillment system and we can help identify which order properties are causing the issue.
Run a small test Send (2-3 recipients) and check how those orders appear in your ERP. Compare the order data against a standard Shopify order to identify which fields differ and which filters need adjustment.
Double-Counting Revenue in Shopify Reports
What you're seeing: Your Shopify reports show higher revenue than expected, or the same Send's revenue appears to be counted more than once.
Why this happens: This applies when you use draft invoices to collect revenue in Shopify and your recipient orders use calculated values (rather than $0). In that case, both the aggregate order and the recipient orders contain revenue data. Shopify's built-in reports sum all order revenue by default, which counts the same dollars twice. This does not apply when using $0 value recipient orders, since only the aggregate order carries revenue.
How to fix it:
Filter your Shopify reports using tags:
- Aggregate orders are tagged
Send to Many aggregate. Exclude this tag to remove aggregate revenue from fulfillment-focused reports. - All Send To Many orders (both aggregate and recipient) are tagged
Send to Many #[Send ID]. Use this to isolate or exclude all Send To Many orders from a report. - Recipient orders are the ones without the
Send to Many aggregatetag but with aSend to Many #[Send ID]tag. - Custom tags: You can also set your own tags on all types of Send To Many orders (aggregate and recipient) to use for your own filtering and reporting workflows.
For detailed instructions on setting up these filters, see Filtering Shopify Reports.
Billing Address Shows a Recipient's Name or Address Instead of the Gifter's
What you're seeing: The billing address on the aggregate draft order or invoice shows a recipient's name or shipping address instead of the gifter's own billing information.
Why this happens: Shopify can sometimes use a recently added shipping address as the customer's default address. Because Send To Many adds recipient shipping addresses to the gifter's customer record during order generation, Shopify may pick up one of those recipient addresses as the billing address on the aggregate order.
How to fix it:
- On Step 5 of the Send (Finalize), review the billing address on the aggregate draft order before sending the invoice.
- If the billing address is wrong, edit it directly on the draft order in Shopify admin or on the Finalize page in Send To Many.
- Send To Many uses the most recent version of the billing address when generating recipient orders, so correcting it before generation ensures all orders have the right billing information.
If you notice this happening frequently, enabling address cleanup can help. Removing recipient addresses from the customer record after generation prevents them from being picked up as defaults on future orders.
Aggregate Orders Blocking Revenue Recognition
What you're seeing: Your accounting or reporting system requires orders to be marked as fulfilled before recognizing revenue, but aggregate orders sit unfulfilled because they don't ship.
Why this happens: Aggregate orders are set to "Does not require shipping" because they represent the financial transaction, not a physical shipment. Shopify doesn't automatically fulfill them because there's nothing to ship. If your revenue recognition or accounting workflow depends on fulfillment status, these orders can create a bottleneck.
How to fix it:
Set up a Shopify Flow to automatically mark aggregate orders as fulfilled. Here's the approach:
- Trigger: Order fulfilled (on any order).
- Condition: Check if the fulfilled order is a Send To Many recipient order (tagged
Send to Many #[Send ID]). - Action: Look up all other orders with the same Send tag. If every recipient order from that Send is fulfilled, mark the aggregate order as fulfilled.
This ensures the aggregate order is fulfilled only after all recipient shipments are complete, which aligns with standard revenue recognition practices.
You can also add additional conditions, such as checking for a specific ship date or waiting for a certain number of days after the last fulfillment.
For a simpler version, you can create a Flow that fulfills aggregate orders immediately on creation if your accounting rules don't require waiting for recipient fulfillment.