Connecting Digits

Last updated: September 22, 2026

Stackpack supports a read-only integration with Digits that pulls vendor spend from your Digits ledger into Stackpack. This builds your vendor list automatically and keeps each vendor's spend history current. Stackpack never writes to Digits.

For what Stackpack keeps from your accounting system, and what it does not, see What Stackpack stores from your accounting system.

Authentication

Stackpack connects through Digits Connect's OAuth 2.0 flow and requests only read access to the ledger. You sign in to Digits, choose the company to share, and authorize Stackpack. No Digits credentials are stored by Stackpack; Digits issues Stackpack a token scoped to that company.

Requirements

  • A Digits user who can authorize connected apps for the company (typically an owner or admin).

  • Each Digits company is a separate profile in Stackpack. Connect once per company.

Caveats

  • Stackpack currently operates in USD. Amounts are read as recorded on each Digits ledger entry and are not converted, so companies with non-USD entries will see those amounts summed as-is. Multi-currency support is on our roadmap.

  • Journal-entry (accrual) spend is not currently read from Digits. Vendor spend in Stackpack reflects bill and expense activity only.

  • Stackpack can import Digits Departments directly as Stackpack Departments. This is enabled by a switch on your account; ask your Stackpack contact to turn it on.

  • Digits tokens do not expire on their own. If the Stackpack app is uninstalled from your Digits company, the profile stops syncing and must be reconnected.

Connecting

During onboarding

  1. On the "Sync with Digits" step, click Connect to Digits.

  2. Sign in to Digits, select the company, and authorize Stackpack.

  3. You are returned to Stackpack and the first sync starts immediately.

From Company Settings

  1. Go to Company Settings → Integrations → Digits and click Connect (or Add profile if a profile already exists).

  2. Enter a name for the profile. This is how the connection appears in Stackpack.

  3. Click Connect, sign in to Digits, select the company, and authorize.

Reconnecting re-runs the Digits authorization for an existing profile and restores syncing without changing any synced data. Use it when Stackpack reports the profile needs attention.

Disconnecting removes the profile and its stored token from Stackpack and stops syncing. Digits does not offer a way for Stackpack to revoke its own access, so to also revoke it on the Digits side, please uninstall the Stackpack app from your Digits company.

Sync schedule and window

  • The first sync runs when you connect. After that, Stackpack syncs automatically once a day.

  • Stackpack retains spend for the current calendar year plus the two prior calendar years. (During January through March, one additional prior year is retained so year-over-year comparisons remain available.)

  • Each sync re-reads the months since the previous sync, and the prior quarter is fully refreshed at the start of each new quarter. Late entries, edits, and reclassifications in Digits are therefore picked up and applied to the month of the original entry date.

What Stackpack reads from Digits

Reference lists: Company (name and currency), Chart of Accounts (Digits Categories), Departments, Locations (when your Digits company exposes them), and Parties (the vendors and counterparties on your ledger).

Ledger entries, filtered by entry date. Digits represents every transaction as one or more ledger entries, and Stackpack records one Stackpack entry per Digits ledger entry. A bill split across three categories therefore produces three entries.

Digits ledger entry

Included when

Recorded as

Entry linked to a Bill

The entry posts to an Expenses, Cost of Goods Sold, or Other Expenses category and names a counterparty

Payment

Entry in an expense category (Expenses, Cost of Goods Sold, Other Expenses) not linked to a Bill or Invoice

The entry names a counterparty

Expense

Entries linked to an Invoice are receivables, not vendor spend, and are not read. Entries posting to Assets, Liabilities, Equity, Income, or Other Income categories are not read. Amounts are recorded as Digits reports them; Stackpack does not apply its own sign to credit and debit entries.

Line-level exclusions. A ledger entry is skipped when any of the following is true:

  • It has no entry date.

  • It has no counterparty.

  • Its amount is zero.

  • Its category type is Assets, Liabilities, Equity, Income, or Other Income.

  • Its category is on the profile's excluded GL account list, if your Stackpack administrator has configured one.

Fields captured per ledger entry

Field

Digits source

Transaction ID

Ledger entry ID (the Digits transaction ID if the entry has none)

Date

Entry date

Amount

Entry amount, converted from Digits' minor units (cents) to whole currency units

Currency

Entry currency code, falling back to the company currency

Type

Payment (bill-linked) or Expense

Accrual

Never set for Digits

Memo

Entry description

Account category

Category type (Expenses, CostOfGoodsSold, or OtherExpenses)

Account ID and name

The Digits Category the entry posts to

Class ID and name

Not populated for Digits

Department ID and name

Department on the entry

Location ID and name

Location on the entry, when your Digits company exposes Locations

Vendor ID and name

Counterparty (Party) on the entry

How ledger entries become vendor spend

Stackpack groups the captured entries by vendor, matching on the Digits Party ID. If a party is referenced by name only, Stackpack matches by name. Within each vendor, entries are grouped by the calendar month of their entry date. Each vendor then carries a monthly spend time series, one bucket per month, with:

Monthly spend field

Derived from

Year and month

The entry date's calendar month

Amount

Sum of Payment and Expense entry amounts for that month

Transaction count

Number of Payment and Expense entries in that month

Accrual amount

Always zero for Digits (journal entries are not read)

Alongside the time series, each vendor records the categories and locations its entries posted to (each with an entry count), the earliest month with spend in the retained window, and the most recent month with spend. When the Department switch is enabled, the vendor also records the Departments it posted to, and Stackpack keeps a per-department monthly spend series keyed on the Department name.

Spend views in Stackpack show Amount. Because Digits contributes no accrual spend, enabling accrual-based spend for your company does not change what Digits-sourced vendors display.

Monthly buckets older than the retention window are dropped on each sync. Buckets inside the window are replaced by the latest sync, so corrections in Digits flow through rather than accumulate.

Frequently asked questions

Q: What does the Digits integration involve, and what information does Stackpack pull from Digits?

A Digits admin authorizes Stackpack through Digits Connect. From then on Stackpack reads, once a day, the vendor-spend ledger entries in your company: entries linked to Bills and entries posting to expense categories, in each case naming a counterparty. It also reads your Company, Chart of Accounts, Departments, Locations, and Parties to label those entries. Stackpack keeps the current year plus two prior years and never writes to Digits.

Q: Which specific data points or fields are required for the integration?

Each ledger entry needs an entry date, a counterparty, a non-zero amount, and a category of type Expenses, Cost of Goods Sold, or Other Expenses. Entries missing any of these are skipped. Department, Location, and description are optional and enrich the vendor record when present.

Q: Are there any data or configuration prerequisites we should validate before starting the trial?

  • The person connecting can authorize connected apps for the Digits company.

  • Vendor activity in the ledger carries a counterparty. Entries without one cannot be attributed to a vendor and are skipped.

  • Counterparty names are consistent (one Party per supplier avoids split spend).

  • Spend you want counted posts to Expenses, Cost of Goods Sold, or Other Expenses categories. Spend posted to Asset, Liability, Equity, or Income categories is not read.

  • If you want Departments in Stackpack, Departments are set on entries in Digits and you have asked Stackpack to enable the Department switch.

  • Your ledger is in USD. Non-USD entries are summed without conversion.

Q: Why does some spend show as "Payment" and some as "Expense"?

Payment entries are ledger entries Digits links to a Bill. Expense entries are direct expense postings with no Bill or Invoice behind them. Both count toward the vendor's monthly Amount.

Q: Does Stackpack show accrual spend from Digits?

Not yet. Journal-entry spend is not read from Digits, so Digits-sourced vendors always display bill and expense activity, even if accrual-based spend is enabled for your company.

Q: Why is a vendor's spend different in Stackpack than in Digits?

The usual causes are entries without a counterparty, entries posted to Asset, Liability, Equity, or Income categories, categories on your excluded GL account list, and journal entries, none of which are read. Spend is also dated by the ledger entry date, so a payment made this month for last month's bill may appear in last month.

Q: Can we exclude certain categories, such as payroll or taxes?

Yes. Your Stackpack administrator can set an excluded GL account list per profile, by category name or ID. Entries posting to those categories are skipped on the next sync.

Q: We have several Digits companies. How do we connect them all?

Connect each company as its own profile from Company Settings → Integrations → Digits → Add profile. Vendors with the same name across companies are kept distinct by their Digits IDs.