Sage 300
View ERP order history in customer accounts
Where to find it: Storefront → My Account → Orders (customer-facing)
When you'd use this: Your B2B customers can view their complete order history from Sage 300 directly on the storefront, including order details and line items, without needing to contact support or log into the ERP.
What you need first:
- A Sage 300-integrated webstore
- Field mapping configured in Store Manager → Stores → [Your Sage 300 Store] → Sync → Mapping for OEORDD (order detail lines)
- Customer records synced between the storefront and Sage 300
How it works:
When a customer visits their Orders page for the first time, the system syncs the last 12 months of orders from Sage 300. On subsequent visits, only new or updated orders are synced automatically.
The system retrieves orders from the Sage 300 OE Orders API and displays:
- Order number, date, and description
- Order totals, subtotals, and tax amounts
- Purchase order number and order type
- Shipping and billing addresses
- Line item details including item numbers, descriptions, quantities, prices, and discounts
- Ship via code, terms, and delivery dates
Orders display with special characters like ampersands, apostrophes, and angle brackets exactly as they appear in Sage 300, preserving the original formatting of product descriptions, customer names, and addresses.
The order date shown reflects the calendar date when the order was placed in the store's local timezone, matched to the corresponding date stored in Sage 300.
Troubleshooting:
-
Orders not appearing for a customer — Verify the customer's IDCUST code in Sage 300 matches their external reference in the webstore. Check Store Manager → Stores → [Your Sage 300 Store] → Sync → Mapping to confirm the customer external reference mapping is configured.
-
Order details missing or incomplete — Review the field mappings for OEORDD in Store Manager → Stores → [Your Sage 300 Store] → Sync → Mapping. Ensure all required fields from the Sage 300 OE Orders API are mapped correctly.
View AR transactions and invoice details in customer accounts
Where to find it: Storefront → My Account → Transactions (customer-facing)
When you'd use this: Your B2B customers can view their complete accounts receivable history from Sage 300 directly on the storefront, including invoices, debits, credits, prepayments, receipts, and refunds. Customers can click into any invoice to see full line item details, amounts, and payment terms without contacting support.
What you need first:
- A Sage 300-integrated webstore
- Customer records synced between the storefront and Sage 300
- Customer's CustomerNumber in Sage 300 matching their external reference in the webstore
How it works:
When a customer visits their Transactions page, the system retrieves posted AR documents from Sage 300's ARPostedDocuments API. The transaction list shows:
- Document number and type (Invoice, Debit, Credit, Prepayment, Receipt, Refund)
- Document date and posting date
- Order number and purchase order number
- Total amount, amount due, and currency
- Due date, discount date, and discount amount
- Status (open or closed based on whether fully paid)
When a customer clicks into an invoice, the system retrieves full invoice details from Sage 300's OEInvoices API, including:
- Invoice header information (number, date, customer details, order number)
- Totals: grand total, subtotal, tax, discount, and balance due
- Payment terms including due date, discount date, and discount amount
- Line items with item codes, descriptions, quantities, unit prices, extended prices, and unit of measure
- Billing and shipping addresses with contact names, emails, and phone numbers
The system automatically filters transactions to show only those belonging to the logged-in customer based on their CustomerNumber in Sage 300.
Transaction details display with special characters like ampersands, apostrophes, and angle brackets exactly as they appear in Sage 300, preserving the original formatting of product descriptions, customer names, and addresses.
Troubleshooting:
-
Transactions not appearing for a customer — Verify the customer's CustomerNumber in Sage 300 matches their external reference in the webstore. Check Store Manager → Stores → [Your Sage 300 Store] → Sync → Mapping to confirm customer mapping is configured correctly.
-
Invoice details not loading — Ensure the invoice number exists in Sage 300's OE Invoices table. The system looks up invoices by InvoiceNumber — if the document is an AR transaction but not an OE invoice, detail view may not be available.
-
Older transactions missing — The system uses the PostingDate field to perform incremental syncs. If older transactions are missing, they may have been posted before the initial sync date. Check that the Sage 300 API is returning all posted AR documents for the customer.
Request quotes through the storefront
Where to find it: Storefront → Checkout (customer-facing)
When you'd use this: B2B customers with quote permissions can request formal quotes instead of placing orders. The system creates a quote in Sage 300 and sends a confirmation email with quote details.
What you need first:
- A Sage 300-integrated webstore
- User permissions configured to allow quote requests
- Checkout V2 enabled on the storefront
How it works:
When a user with quote permissions initiates a quote request, they proceed through the standard checkout flow. Upon completion, the system creates a quote in Sage 300 instead of a sales order.
The quote includes:
- Customer information and shipping/billing addresses
- Line items with quantities, prices, and product details
- Applied promotions and discounts
- Custom field values mapped to Sage 300 optional fields
- Quote expiration date
- Order totals, subtotals, and tax amounts
After the quote is successfully created in Sage 300, the customer receives a confirmation email containing their quote details.
Promotions applied to the cart are automatically included in the Sage 300 quote. Custom fields configured in Store Manager are mapped to the corresponding optional fields in Sage 300's Order Entry module and passed with the quote.
The quote date and expiration date are stored in Sage 300 using the calendar date from the store's local timezone, ensuring dates appear consistently between the storefront and the ERP.
Troubleshooting:
-
Quote request fails at checkout — Verify that the customer has permissions to request quotes and that Checkout V2 is enabled. Check that all required fields are populated correctly.
-
Promotions not appearing on the Sage 300 quote — Ensure promotions are active and properly configured. Review the quote in Sage 300 to confirm the discount amounts were applied correctly.
-
Custom field values missing from the quote — Check that custom fields are mapped to Sage 300 optional fields in Store Manager → Custom Fields. Verify that the optional fields exist in Sage 300's Order Entry module.
-
Confirmation email not received — Verify the customer's email address is correct in their account profile. Check the email sending configuration in Store Manager.
Map shipping services to Sage 300 items
Where to find it: Store Manager → Stores → [Your Sage 300 Store] → Shipping
When you'd use this: You can map each storefront shipping service to either a non-stock item or a miscellaneous charge code in Sage 300, so shipping charges appear as separate line items on ERP orders with the correct item code and tax treatment.
What you need first:
- A Sage 300-integrated webstore
- Non-stock items or miscellaneous charge codes defined in Sage 300 for shipping
- Shipping services configured in Store Manager
How it works:
When you configure a shipping service, you can assign either:
- Non-stock item — A standard inventory item code from Sage 300 that represents shipping charges
- Miscellaneous charge code — A Sage 300 miscellaneous code that may have different tax treatment than regular items
When a customer selects a shipping method at checkout, the system adds a line item to the Sage 300 order using the mapped item code or miscellaneous code. The shipping charge amount flows to the ERP as the line item price.
Miscellaneous codes are commonly used for shipping because they can be configured in Sage 300 to be non-taxable or have specialized tax rates that differ from standard inventory items.
Troubleshooting:
-
Order fails at checkout after selecting shipping — Verify that the item code or miscellaneous code assigned to the shipping service exists in Sage 300 and is active. The system cannot create an order if the shipping line item references an invalid code.
-
Shipping charges have incorrect tax — Check whether the shipping service is mapped to a non-stock item or miscellaneous code, and review the tax settings for that code in Sage 300. Miscellaneous codes may have different tax configuration than non-stock items.
Sync shipping addresses to Sage 300 during checkout
Where to find it: Storefront → Checkout (customer-facing)
When you'd use this: B2B customers' shipping addresses are automatically saved or updated in Sage 300 when they place orders, keeping the ERP and webstore address books synchronized without manual data entry.
What you need first:
- A Sage 300-integrated webstore
- Address saving enabled for B2B user groups
- Address book feature enabled for B2B users
How it works:
When a B2B customer places an order with a new or updated shipping address, the system saves that address to Sage 300 before creating the order. The system determines whether to create a new address or update an existing one by checking the ShipToLocationKey in Sage 300's ARShipToLocations table.
If the address already exists in the ERP, the system updates the existing record rather than creating a duplicate. If it's a new address, a new ship-to location is created under the customer's account.
The following address details are synchronized:
- Ship-to location code and description
- Street address lines (up to 4 lines)
- City, state, zip code, and country
- Phone, fax, and email
- Contact name and contact details
Address information is sent to Sage 300 exactly as the customer entered it, including special characters like apostrophes and ampersands in street names or business names.
Address sync behavior by user type:
- Guest users — Addresses are not saved to Sage 300, as these users typically share a common ERP customer record
- B2B users without address book enabled — Addresses are not saved to Sage 300
- B2B users without address saving enabled — Addresses are not saved to Sage 300
- B2B users with address saving enabled — Addresses are created or updated in Sage 300 during checkout
Troubleshooting:
-
Order fails to submit after entering a new address — If the address cannot be saved to Sage 300, the order will not be created. Check that the customer's CustomerNumber exists in Sage 300 and that the ARShipToLocations API is accessible. The system will retry from the failed address save step.
-
Duplicate ship-to locations appearing in Sage 300 — The system uses the ShipToLocationKey to match existing addresses. Verify that ship-to codes are being generated consistently and that address lookups are working correctly.
-
Address changes not appearing in Sage 300 — Confirm address saving is enabled for the customer's user group. Check that the customer belongs to a B2B user group with the address book feature enabled.
Map custom fields to Sage 300 optional fields
Where to find it: Store Manager → Custom Fields → Edit Custom Field
When you'd use this: You can map storefront custom fields to Sage 300 optional fields so that customer-entered values from checkout are automatically passed to the ERP when orders are created. This allows you to capture and sync order-specific data like project codes, cost centers, or reference numbers.
What you need first:
- A Sage 300-integrated webstore
- Optional fields defined in Sage 300's Order Entry module (oeofd table)
- Custom fields created in Store Manager
Set it up:
- In Store Manager, navigate to Custom Fields and select the custom field you want to map to Sage 300
- In the field mapping section, select an optional field from the dropdown — fields are grouped by data type for easier selection
- Review the field properties displayed in the settings card, including ID, location, data type, length, decimals, and default value
- The system will suggest an appropriate custom field type based on the optional field's data type
- Save the custom field configuration
How it works:
When a customer completes checkout and enters values in mapped custom fields, those values are included in the order payload sent to Sage 300. The system matches each custom field to its corresponding optional field ID and passes the value with the correct data type.
Sage 300 data types supported:
- Integer (type 1)
- Date (type 3)
- Text (type 6)
- Yes/No (type 8)
- Number (type 9)
- Amount (type 100)
The system automatically formats values according to each field's definition, including length and decimal precision. Custom field values are sent to Sage 300 exactly as entered, preserving special characters like ampersands and apostrophes.
You can filter the available optional fields by location to narrow down your selection if Sage 300 has optional fields defined for multiple locations.
Troubleshooting:
-
Custom field values not appearing in Sage 300 — Verify that the optional field mapping is configured in Store Manager and that the optional field exists in Sage 300's oeofd table. Check that the customer entered a value during checkout.
-
Order creation fails with validation error — Review the optional field's validation rules in Sage 300. Ensure the custom field value meets the length, format, and data type requirements defined in the oeofd record.
-
Optional fields not appearing in the mapping dropdown — Confirm that optional fields are defined in Sage 300's Order Entry module and that the integration sync has retrieved the oeofd definitions. Try filtering by location if needed.
Track credit card payment references in Sage 300 order headers
Where to find it: Sage 300 OE Orders (OrderReference field)
When you'd use this: When customers pay by credit card at checkout, the payment gateway authorization number is automatically recorded in the Sage 300 order header reference field. This allows your accounting and warehouse teams to trace orders back to specific payment transactions without searching through separate payment logs.
What you need first:
- A Sage 300-integrated webstore
- Credit card payment processor configured on the storefront
- Orders being processed with either pre-authorization or pre-payment
How it works:
When an order is submitted to Sage 300, the system sets the OrderReference field based on the payment method:
- Pre-payment orders — The gateway authorization number from the completed payment is used as the order reference
- Pre-authorization orders — If no pre-payment authorization number is available, the pre-authorization reference is used instead
- Non-credit card orders — No order reference is set
The system prioritizes the gateway authorization number for pre-payment transactions because it represents the final completed payment. For pre-authorized orders that will be captured later, the pre-authorization reference is used.
This reference appears in Sage 300 order records and can be used to reconcile orders with payment gateway reports or AR receipt batches.
The order date stored in Sage 300 reflects the calendar date when the order was placed in the store's local timezone, ensuring payment references align with the correct business day.
Troubleshooting:
-
Order reference field is blank in Sage 300 — Check that the order was paid by credit card and that the payment gateway returned an authorization number. Orders paid by other methods or quote orders will not have a reference populated.
-
Reference shows pre-auth code instead of payment confirmation — The system uses the gateway authorization number when available. If only a pre-authorization reference appears, the order may have been authorized but not captured, or the payment gateway may not have returned a confirmation number.
Send customer email addresses to Sage 300 with orders
Where to find it: Sage 300 OE Orders (ShipToContactEmail and BillToContactEmail fields)
When you'd use this: Customer email addresses from checkout are automatically sent to Sage 300 with order details, allowing your teams to communicate with customers directly from the ERP without looking up contact information in separate systems.
What you need first:
- A Sage 300-integrated webstore
- Customers entering email addresses at checkout or in their account profiles
How it works:
When an order is submitted to Sage 300, the system includes the customer's email address in both the shipping and billing contact