Automate Sage 300 A/R Receipt Batches from Shopify Orders

ERP
Automate Sage 300 A/R Receipt Batches from Shopify Orders
9 min read

Finance teams need a controlled way to turn a busy Shopify order day into receipt data that is easier to review in Sage 300. APPSeCONNECT retrieves Shopify orders, validates the related sales order in Sage 300, calculates the configured net receipt amount, and groups valid receipts into one A/R Receipt Batch for each Shopify creation date. It reduces repetitive batch creation while keeping each order-level receipt visible inside the day’s batch. A well-planned Shopify and Sage 300 integration helps businesses automate order, payment, inventory, and financial data movement between the two systems.

Key Takeaway

  • One Batch per Business Date: The compact integration key can use ShopifyYYYYMMDD, such as Shopify20260622, while the Sage 300 batch description may show the same date as Shopify2026-06-22.
  • Sales Order Validation Comes First: A payment receipt is processed only after the related Sage 300 sales order is confirmed to exist.
  • Receipt Amount Uses a Configured Formula: The configured Mapper calculates the receipt amount as Order Total − Transaction Fees; it is not a general accounting or settlement rule.
  • Receipt Entries Stay Order-Level: Each qualifying Shopify order contributes its own customer, order, amount, payment, deposit, and sales-order reference data to the grouped batch.
  • API Submission Is Not Posting: Creating or submitting the batch through the Sage Web API does not by itself mean the batch has been posted to customer accounts or General Ledger.

What the Workflow Automates

An A/R Receipt Batch is the Sage 300 container that holds related receipt entries. APPSeCONNECT consolidates Shopify payment receipts by the business date derived from order creation instead of opening a new Sage 300 batch for every order. The result is a daily batch structure that gives finance users one place to inspect the day’s receipts while retaining the supporting order-level entries.

The automation begins at the payment-receipt stage. It does not replace sales-order creation, payment-gateway settlement, bank-deposit confirmation, or Sage 300 posting controls. Those activities remain distinct from business and accounting processes. The configured handoff carries validated Shopify order data into Sage 300 receipt-batch construction.

How the Configured Workflow Runs
Workflow Stage
Configured Input
Output or Gate
Retrieve
Shopify orders within the requested creation-date range
A paginated order set for the date window
Validate
Shopify order reference and Sage 300 sales-order lookup
Existing related sales order required before receipt processing
Calculate
Order total and transaction fees
Configured net receipt amount
Group
Shopify order creation date
Compact ShopifyYYYYMMDD integration key and the configured Sage 300 batch description
Submit
Batch header and order-level receipt entries
Sage 300 A/R Receipt Batch for review and posting control

Use the Shopify Creation Date as the Grouping Key

The grouping rule is deliberately based on when Shopify created the order. A qualifying order created on 22 June 2026 belongs in the Shopify20260622 group. Five qualifying orders created on that same date contribute five receipt entries to that one batch. Orders created on 20 June and 23 June belong to separate keys, even if the integration processes all three dates in one run.

Shopify orders are selected and grouped by their configured creation date

The Shopify GraphQL `orders` query supports filtering by created_at, sorting, and cursor-based pagination. The integration retrieves every page for the requested date range before it forms the group. A partial page cannot be treated as the date’s final receipt set.

Creation date is not a proxy for a gateway payout date, bank settlement date, or the date cash becomes available. It is only the configured grouping basis for the receipt batch. The project team must define the business time zone used to turn Shopify’s timestamp into the YYYYMMDD portion of the integration key. That decision matters around midnight, daylight-saving transitions, and stores that operate in a time zone different from the finance team.

Follow the Configured Process Flow

The visual flow has one clear path: Shopify provides the qualifying order data, a Mapper transforms the configured fields and applies the grouping logic, and Sage 300 receives the batch and receipt-entry payloads. The ProcessFlow connects these application and mapper nodes so the integration team can see the business handoff.

The configured process flow routes Shopify order data through a Mapper before Sage 300 receives it

APPSeCONNECT should preserve one traceable record path for each Shopify order. The source order reference, calculated receipt amount, date-group key, related Sage 300 sales order, and integration result need to remain associated while the batch is built. This lets a user trace a receipt entry back to the Shopify order that supplied it without treating the daily batch itself as a replacement for order-level evidence.

Retrieve Shopify Orders for a Controlled Date Window

The retrieval node queries Shopify orders for the selected creation-date range through GraphQL. The payload needs the identifier used to match the Sage 300 sales order, the order creation time, the order total, and the transaction-fee information required by the configured amount formula. The exact GraphQL selection set and the authorization scopes belong to the implementation because Shopify store configuration and payment arrangements can differ.

Cursor pagination is part of the control, not an optional optimization. Shopify returns orders through a connection, and the integration continues while the page information indicates more results. A run that stops after its first page may create a batch that looks complete but excludes later records from the same business date. A reliable Shopify integration should retrieve complete order data, handle pagination correctly, and maintain traceable records throughout the workflow.

Did You Know?
250
Maximum resources Shopify’s GraphQL API returns per request.
For larger order volumes, integrations must use cursor-based pagination or appropriate bulk operations to make sure records are not missed.

The order window should also be explicit. For example, a reprocessing run for 22 June should identify the same business-date interval used by the original configuration. Changing the time-zone conversion or date boundary midway through a run can move an order into a different batch key and weaken reconciliation.

Validate the Existing Sage 300 Sales Order

Before a receipt is calculated or inserted, APPSeCONNECT verifies that the corresponding Sage 300 Sales Order already exists. This is a receipt-processing gate. APPSeCONNECT does not create the sales order as part of this stage, and a Shopify order reference alone is not proof that the related receivable document is ready for a receipt entry.

The validation uses the approved project mapping between the Shopify order reference and the Sage 300 sales-order reference. That mapping may use an order number, document number, or another agreed key, but the deployment configuration must document the chosen field, account-set treatment, customer rules, and unmatched-record path before the flow runs in production.

This gate improves the quality of the daily batch because only receipts tied to an existing sales order continue through the configured flow. It also keeps a source-order issue distinct from a batch-construction issue. Teams can investigate an unmatched record without assuming that the right response is to create an accounting document automatically.

Calculate the Configured Net Receipt Amount

For every validated order, the Mapper applies this configured calculation:

Final Receipt Amount = Order Total − Transaction Fees

The formula is specific to the configured integration mapping. It is not a universal definition of revenue, cash received, settled funds, merchant fees, or the amount that every Shopify and Sage 300 implementation should post. It must use the order-total and transaction-fee values approved for this integration, with compatible currency and rounding treatment.

The current Shopify OrderTransaction object provides payment details, transaction status, gateway information, and transaction fees for Shopify Payments transactions. APPSeCONNECT should select only the approved transaction records, retain compatible currency values, apply the project’s rounding rule, and reject records whose configured fee basis is unavailable.

For payout reconciliation, define a separate approved source, matching rule, and control. Keep that process separate from the order-creation-date grouping used by this receipt workflow.

Build the Daily A/R Receipt Batch

After validation and calculation, the Mapper groups qualifying records by the compact creation-date key. A record dated 2026-06-20 uses Shopify20260620; a record dated 2026-06-23 uses Shopify20260623. The Sage 300 batch description may present the same date with separators, such as Shopify2026-06-22, while preserving the one-batch-per-business-date rule.

The Sage 300 batch carries the configured batch information, deposit information, payment-method information, and the receipt entries for that group. The Sage 300 A/R Receipt Entry workflow can use a batch date as the default document date for new documents added to that batch. Configure the bank, currency, deposit number, payment code, and receipt type against the company’s live Sage 300 setup before the flow is released.

A Sage 300 A/R Receipt Batch List can show one date-grouped batch with its entry count, total amount, and current status

Use the visible batch list as an operational review record for the configured grouping and Sage 300 batch. Reconciliation should compare its count, amount, and exceptions with the finance-approved source records for the relevant process.

Create an Order-Level Receipt Entry for Each Qualifying Order

The batch contains one configured receipt entry for every qualifying Shopify order. Each receipt entry carries these mapped fields:

  • Customer Number: Map the Sage 300 customer identity selected by the approved mapping.
  • Order Number: Retain the Shopify order reference used to connect the receipt with the related sales order.
  • Receipt Amount: Calculate the configured result as Order Total − Transaction Fees.
  • Payment Method: Map the configured Sage 300 payment-method detail for the receipt.
  • Deposit Information: Supply the batch or receipt deposit detail required by the configured Sage 300 process.
  • Associated Sales Order Reference: Retain the existing Sage 300 sales-order reference validated before the entry is created.
A configured A/R Receipt Entry retains the receipt amount, customer, payment, document, and order-application details for an individual order

Sage 300 A/R Receipt Entry separates general receipt information from the details used to apply a receipt to documents. The deployment team should configure the precise receipt transaction type, application method, customer number, reference field, and deposit behavior for the live company, then validate those settings with finance before release.

What Each Receipt Entry Really Captures, In Plain Terms

Submit the Batch Without Confusing Submission with Posting

The submission node sends the completed batch through the Sage Web API for Sage 300 processing and reconciliation. A successful create or submission response means the API request was handled at that integration boundary. It does not by itself prove that Accounts Receivable has posted the batch, updated customer accounts, or created General Ledger activity.

Sage 300 has a separate receipt-batch posting process. A batch must be ready to post before posting transfers its contents to customer accounts. Depending on Sage 300 options, General Ledger transactions can be created during posting or later. Treat an open receipt batch as an entered batch awaiting the finance-controlled review and posting process. A properly configured Sage 300 integration can automate data submission while still preserving finance-controlled review, posting, and reconciliation processes.

This distinction keeps responsibilities clear. APPSeCONNECT assembles and submits the configured data. Finance retains authority over review, readiness, posting, correction, and reconciliation under the company’s Sage 300 controls.

Controls to Confirm During Implementation

The configuration should define the following controls before production use:

  • Date Boundary: Define the business time zone that converts Shopify createdAt into the YYYYMMDD group key.
  • Order Match: Document the exact Shopify reference used to find the existing Sage 300 Sales Order and the controlled outcome for an unmatched record.
  • Fee Source: Record the approved transaction-fee value, currency, and rounding precision used by the configured calculation.
  • Duplicate Prevention: Use an approved run identifier or business key that prevents a retried run from inserting the same Shopify order twice.
  • Batch Reuse: Define whether an existing date-grouped batch accepts eligible entries, stops for review, or follows another controlled path.
  • Posting Boundary: Assign the finance role that reviews the batch, marks it ready to post, and performs the Sage 300 posting action.

Document these implementation and finance controls in the project configuration, then test them with representative orders, fees, unmatched sales orders, reruns, and date-boundary cases.

Operational Result for Finance Teams

APPSeCONNECT changes the unit of batch management from one batch per Shopify order to one batch per Shopify creation date. Finance teams can review the day’s receipt entries together while each entry still carries the customer, sales-order reference, payment detail, deposit information, and calculated amount needed for follow-up.

Related Read

How To Sync Shopify With Sage 300 For Real-Time Order Updates And Inventory Tracking?

This guide shows how to design and run a Sage 300 Shopify sync that delivers real-time order updates and inventory tracking Sage 300 Shopify teams can trust across channels.

That organization supports a focused daily review: finance can compare the batch count and configured amount with its approved operational records, isolate unmatched sales orders or failed records, and determine whether the batch is ready for the company’s established review and posting process.

The ProcessFlow lets the integration team trace the Shopify, Mapper, and Sage 300 handoff. It shows where the order was retrieved, where the configured calculation and date grouping occur, and where Sage 300 receives the resulting receipt batch. Finance-approved mapping, settlement reconciliation, and Sage 300 posting controls still govern the accounting outcome.

Conclusion

Reliable daily receipt batching starts with a stable business-date boundary, an existing-order check, a documented fee formula, and an idempotent key for every receipt entry. Finance can then reconcile the open batch before posting it. APPSeCONNECT coordinates Shopify retrieval, mapping, Sage 300 submission, and exception tracking while keeping posting authority with finance.

Define the date, fee, duplicate, and posting controls before testing with representative orders and reruns.

Review your Shopify-to-Sage 300 receipt design with an integration specialist.

Frequently Asked Questions

Qualifying Shopify orders created on the same business date are grouped with the compact ShopifyYYYYMMDD integration key under the configured integration mapping. The Sage 300 batch description may show the same date with separators. Each qualifying order still creates its own receipt entry inside that batch.

Sage 300ShopifyAccounts ReceivableERP IntegrationAPPSeCONNECT

Related Resources