ml-connector
DeltekToast

Deltek and Toast integration

Deltek Vantagepoint runs project finance and the general ledger. Toast runs the restaurant point of sale, payments, and labor. Connecting the two means each location's daily sales, tax collected, discounts, tender breakdown, and labor hours land in Deltek without anyone re-keying the closeout report. ml-connector handles the very different APIs on each side and posts the totals on the schedule you set. Because Toast has no chart of accounts, vendors, or AP, the general ledger stays in Deltek where it belongs.

How Deltek works

Deltek Vantagepoint exposes Firms, Contacts, Employees, and Projects through REST Hub APIs, plus accounting transactions such as AR invoices, AP invoices, journal entries, cash receipts, and GL accounts through its Accounting Transaction APIs, documented in the interactive reference for each tenant. It authenticates with an OAuth2 password grant against a company-specific deltekfirst.com URL, so there is no shared hostname, and the Allow Password Grant Type setting must be enabled. Vantagepoint webhooks are workflow-driven with no HMAC signature, so sales-side reads are driven from Toast rather than Deltek. The older Deltek Costpoint product is SOAP-heavy and pull-only.

How Toast works

Toast is a restaurant POS, not an ERP, so it has no vendors, purchase orders, AP bills, or chart of accounts. The Toast Platform REST APIs expose orders, checks, payments, refunds, menu items, employees, and time entries, plus configuration objects such as revenue centers, sales categories, tax rates, and discounts, all over HTTPS scoped to one location at a time. It authenticates with OAuth2 client credentials and a Toast-Restaurant-External-ID header per location, and it can push order webhooks signed with HMAC-SHA256, though payments and labor have no webhook and are polled. Revenue centers and sales categories are the dimensions that map to your general ledger.

What moves between them

The flow runs from Toast into Deltek. After each closeout day, ml-connector reads Toast orders, checks, and payments by business date and posts the day's gross sales, tax, discounts, service charges, and tender totals into Deltek Vantagepoint as AR invoices or journal entries, mapped to the matching Deltek GL accounts and project. Employee and time-entry records can flow the same direction so labor cost posts against the right project and account. Toast has no GL of its own, so ml-connector never writes financial entries back into the point of sale; Deltek stays the system of record for the ledger.

How ml-connector handles it

ml-connector stores both credential sets encrypted. On the Toast side it requests an OAuth2 client-credentials bearer token with userAccessType TOAST_MACHINE_CLIENT, caches it until near expiry to stay under the separate authentication rate limit, and sends the Toast-Restaurant-External-ID header so each call targets the right location. On the Deltek side it accepts the full tenant deltekfirst.com URL and database per customer, requests a password-grant token, and refreshes it when a call returns 401. It pulls by Toast businessDate, not wall-clock time, so a 1 AM sale lands on the correct closeout day per the restaurant's closeoutHour. Revenue centers and sales categories are mapped first, so every posted line resolves to a real Deltek GL account and project. Voided orders, checks, and payments are filtered out before posting, and gratuity service charges are separated from non-gratuity ones for correct tip handling. Toast order webhooks can trigger a sync, but because Toast has no payment or labor webhook and does not guarantee delivery, a nightly reconciliation poll by business date is the safety net. Neither system offers an idempotency key, so ml-connector dedupes on the Toast order GUID and a BullMQ jobId and checks for an existing Deltek record before posting, which avoids double-booking a re-read day. Toast rate limits return HTTP 429 with Retry-After, so ml-connector backs off and retries, and every record carries a full audit trail and can be replayed if a downstream call fails.

A real-world example

A regional restaurant group with eight locations runs Deltek Vantagepoint for project-based finance and uses Toast for point of sale, payments, and scheduling at every site. Before the integration, a bookkeeper pulled each location's closeout report from Toast every morning and keyed the sales, tax, and tender totals into Deltek by hand, which meant the ledger ran a day or two behind, tender splits were sometimes mistyped, and voided checks slipped into revenue. With Deltek and Toast connected, each location's business-day totals post into Deltek automatically against the right GL accounts and project, voids and refunds are excluded, and the morning re-keying is gone. Finance sees yesterday's sales already booked across all eight sites.

What you can do

  • Post Toast daily sales, tax, discount, and tender totals into Deltek as AR invoices or journal entries.
  • Map Toast revenue centers and sales categories to Deltek GL accounts and projects.
  • Pull by Toast business date so each sale books on the correct closeout day.
  • Exclude voided orders and separate gratuity from non-gratuity service charges before posting.
  • Bridge Toast OAuth2 client credentials and the Deltek password-grant tenant token, with retries and a full audit trail.

Questions

Which direction does data move between Deltek and Toast?
The flow is Toast into Deltek. Daily sales, tax, discounts, tender totals, and labor records move from Toast into Deltek Vantagepoint as AR invoices, journal entries, or labor cost postings. Toast has no chart of accounts, vendors, or AP, so the general ledger stays in Deltek and ml-connector never writes financial entries back into the point of sale.
How does ml-connector make sure sales land on the right day?
It reads Toast by businessDate rather than wall-clock time, because each restaurant has a configurable closeoutHour. A sale rung up at 1 AM belongs to the prior business day, so pulling by business date matches what Toast's own reports show and keeps Deltek aligned to the closeout. A nightly poll also reconciles each day as a safety net.
Does Toast push events, or does ml-connector poll?
Both are used. Toast can push order webhooks signed with HMAC-SHA256, which ml-connector verifies and can use as a trigger. Toast has no webhook for payments or labor and does not guarantee webhook delivery, so a scheduled poll by business date pulls payments, time entries, and anything a webhook missed before posting into Deltek.

Related integrations

Connect Deltek and Toast

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

Get started