SAP S/4HANA and Toast integration
SAP S/4HANA runs your enterprise finance and procurement. Toast runs your restaurant operations, payments, and labor. Connecting the two keeps your GL in sync with your point-of-sale revenue and dishes up a single source of truth for daily sales by location and cash handling. New sales orders and payments flow from Toast into SAP on each business date, with every revenue line mapped to the correct GL account and cost center, and the daily close becomes reconciliation rather than re-keying.
What moves between them
The main flow is Toast into SAP S/4HANA. After each business date closes at a restaurant's configured closeout hour, ml-connector polls Toast for all orders and payments, groups them by revenue type and location, maps them to SAP cost centers, and posts daily sales and payment journals into the GL. Service charges classified as gratuity are excluded from net sales. Fundraising items flagged in menu selections are also excluded. Reference data such as menu items and revenue centers are read from Toast but not written back.
How ml-connector handles it
ml-connector caches OAuth tokens for both SAP and Toast to prevent auth rate limits, and refreshes them before expiry based on the short TTLs each system returns. On the Toast side, it polls the nightly reconciliation endpoint keyed to each restaurant's business date, accounting for the configurable closeoutHour so a sale at 1 AM June 12 is correctly assigned to June 11 if the restaurant's closeout is 3 AM. Voided orders and checks are filtered by the voided flag before totals are calculated. On the SAP side, ml-connector maps Toast revenue centers to SAP GL accounts and cost centers per your configuration, then posts journal entries via the A_JournalEntry OData API. Multi-location Toast accounts require a separate Toast-Restaurant-External-ID for each restaurant and a poll loop across all accessible locations. Because Toast webhooks are not guaranteed delivery, ml-connector implements nightly reconciliation as the primary pattern. Every record carries a full audit trail and can be replayed if a downstream GL posting fails.
A real-world example
A small regional restaurant group operates four locations using Toast for POS and labor management, and SAP S/4HANA for corporate accounting and cost center reporting. Before the integration, each location manager exported daily sales summaries from Toast and the accounting team manually re-entered them into SAP by revenue type and location, then spent the first business day of the week chasing rounding errors and mismatches between what Toast reported and what the GL showed. With Toast and SAP S/4HANA connected, each restaurant's daily close automatically posts to SAP, allocated to the correct cost center, and the GL opens each morning with yesterday's sales already recorded and reconciled. The finance team now reviews the audit trail rather than re-keying, and they can close the GL without waiting for manager reports.
What you can do
- Poll Toast sales orders and payments on a nightly schedule keyed to each restaurant's business date closeout, and post daily sales journals into SAP with revenue mapped to the correct GL accounts and cost centers.
- Filter voided orders, checks, and payments, and exclude fundraising items and gratuity service charges from net sales before posting to the GL.
- Authenticate Toast with OAuth 2.0 and manage the restaurant-specific external ID for multi-location accounts, and authenticate SAP with OAuth 2.0 scoped to your Communication Arrangement.
- Cache OAuth tokens on both sides to prevent auth rate limits, and refresh before expiry based on each system's token TTL.
- Track the complete audit trail for every order and payment record, and replay GL postings if a downstream SAP call fails.
Questions
- How does ml-connector handle business dates and closeout times in Toast?
- Toast restaurants have a configurable closeoutHour that determines when the business day rolls over. ml-connector polls each location with the businessDate parameter in YYYYMMDD format, accounting for that restaurant's closeoutHour so a transaction at 1 AM June 12 is assigned to June 11 if the closeout is 3 AM. This ensures sales are posted to the GL under the correct business date.
- Which orders and payments are excluded from GL posting?
- ml-connector filters out any order, check, or payment marked with voided==true. Menu selection items flagged as fundraising are excluded from net sales. Service charges classified as gratuity are also excluded from revenue totals and reported separately for tax compliance.
- How does the integration handle multiple Toast locations?
- Toast multi-location accounts require a separate Toast-Restaurant-External-ID header for each restaurant. ml-connector retrieves all accessible locations via the partners API, polls each one separately, and posts their sales to SAP under their assigned cost center so corporate accounting sees revenue broken down by location.
Related integrations
More SAP S/4HANA integrations
Other systems that connect to Toast
Connect SAP S/4HANA and Toast
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started