ml-connector
Oracle E-Business SuiteToast

Oracle E-Business Suite and Toast integration

Oracle E-Business Suite manages your financials, procurement, and inventory across the enterprise. Toast runs your restaurant operations and generates daily sales and payment records. Connecting the two keeps your revenue accounts reconciled without manual re-entry. Sales orders from Toast flow into EBS receivables nightly, payments are matched and posted to the GL, and voided transactions are excluded automatically. Multi-location restaurants sync all order data to a single EBS instance with proper cost center allocation per location.

How Oracle E-Business Suite works

Oracle E-Business Suite exposes GL accounts, cost centers, journal headers, journal lines, and receivables entities through the Integrated SOA Gateway (ISG), which deploys REST and SOAP services from the Integration Repository to a customer-hosted hostname and port. Authentication uses HTTP Basic Auth (username plus password) or a session token obtained via the login endpoint, and the token includes application context headers such as responsibility, organization, and security group. EBS has no webhook system, so data is read and written by polling and posting to interface tables, which are then imported by concurrent programs that may take minutes to complete. Write operations are often asynchronous, especially AP payments, which must be created via the Payments concurrent program rather than a direct REST call.

How Toast works

Toast exposes orders, checks, payments, menu items, employees, and shifts through REST APIs at https://ws-api.toasttab.com (or environment-specific hostname). Authentication is OAuth2 Client Credentials, exchanging clientId and clientSecret for a bearer token that includes the required userAccessType: TOAST_MACHINE_CLIENT. Every request requires the Toast-Restaurant-External-ID header with the restaurant GUID, and multi-location chains must query each location separately. Toast offers both webhooks (for orders and menus) and polling endpoints, though webhooks are optional and payment events are not available, so a nightly reconciliation poll is required. Configuration and menu data are read-only, and voided orders and checks remain visible in the API and must be filtered by the client.

What moves between them

The main flow is Toast into Oracle E-Business Suite. Each night after the restaurant's closeout hour, ml-connector polls Toast for orders and payments from the previous business date (accounting for each restaurant's configurable closeout time), maps the Toast revenue center and sales category to the corresponding EBS GL account and cost center, and posts the net sales and payment allocations as a journal entry into EBS GL via the ISG. Voided transactions are filtered out before GL posting. For multi-location chains, a separate reconciliation poll runs per location, each tagged with the location-specific cost center in EBS.

How ml-connector handles it

ml-connector stores the Toast OAuth2 credentials and the EBS ISG hostname, port, and Basic Auth credentials encrypted. For each Toast restaurant location, it exchanges the OAuth2 credentials for a bearer token (cached to avoid rate limits), then polls the Orders API for orders by business date using each restaurant's closeout hour to determine which date a transaction belongs to. It maps Toast categories to EBS GL accounts and revenue centers to cost centers using a configuration table. Payment methods are mapped to receivables accounts. Voided transactions are filtered out before GL posting. The integration posts a summary journal to the ISG via a REST call to the GL module's interface view, then monitors the audit trail to confirm the concurrent program import completed successfully. Toast's rate limits (20 requests per second default, 1 per second for menus) are respected with exponential backoff on 429 responses. If a GL posting fails, the transaction is marked for replay and the next run re-posts it. All records carry a full audit trail with the original Toast order IDs so charges can be traced to source.

A real-world example

A regional restaurant chain runs 12 locations across three states, each with its own Toast POS. Finance imports daily sales summaries from Toast into a centralized Oracle E-Business Suite instance to post revenue and collect payment allocations by location for month-end close. Before the integration, the corporate finance team received disconnected email reports from each location's manager, manually consolidated the daily numbers, and hand-keyed the summaries into EBS at the end of each shift, a process prone to errors and delays. With Toast and EBS connected, each location's closeout automatically syncs to the corporate GL with revenue and payments split by the configured cost center for that location. Reconciliation is instant, and the finance team starts month-end close with GL already balanced to the POS.

What you can do

  • Post daily Toast sales as revenue journal entries into Oracle E-Business Suite GL, mapped to GL accounts and cost centers by restaurant location.
  • Reconcile Toast payments to EBS receivables accounts, allocating each payment method to the correct GL account.
  • Filter voided orders and checks so only valid transactions post to the general ledger.
  • Handle multi-location chains by polling each Toast location separately and tagging GL entries with location-specific cost centers.
  • Respect Toast rate limits and ISG session token expiry with retries and a full audit trail on every order posted.

Questions

How does ml-connector account for different business dates across Toast locations?
Each Toast restaurant can set its own closeout hour, which determines which business date a sale belongs to. For example, a sale at 2 AM belongs to the previous day's business date if the location closes at 3 AM. ml-connector uses each location's configured closeout hour to determine the correct business date and polls Toast accordingly, ensuring revenue syncs to the right accounting period.
What happens to voided orders and payments in Toast?
Toast returns voided orders, checks, and payments in the API responses but flags them with voided=true. ml-connector filters these records before posting to EBS GL, so only valid, settled transactions post as journal entries. This prevents duplicate GL entries if a transaction is later voided or cancelled.
How does ml-connector handle multi-location Toast accounts with a single EBS instance?
ml-connector stores a separate Toast-Restaurant-External-ID for each location and polls each one on the nightly schedule. Each GL journal entry is tagged with the location's cost center in EBS, so revenue and payments are automatically allocated to the right business unit for consolidation and reporting.

Related integrations

Connect Oracle E-Business Suite and Toast

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started