Skip to main content
Connect Slash to DualEntry so corporate card transactions you review and code in Slash post to your general ledger without re-keying. The connection runs through Rutter, a unified accounting API that Slash uses to write into ERPs. You authorize it by giving Rutter a DualEntry API key, then you code and sync transactions from the Accounting section of Slash. The flow is driven from Slash. You choose which transactions to send and when, Slash sends them through Rutter, and each one lands in DualEntry as a direct expense (a posted expense that bypasses the bill workflow). There is no Slash tile inside DualEntry’s Integrations screen, and DualEntry does not push records back to Slash beyond the reference data Slash reads for coding.

Prerequisites

Confirm the following before you connect. Each item is needed at a specific step, so a gap here stops setup partway through.
  • Admin role in DualEntry: Only Admins can open the Developer access tab where API keys are created.
  • Admin or Owner permissions in Slash: Slash restricts its Integrations settings to these roles.
  • A finalized chart of accounts in DualEntry: Slash reads your GL accounts when you code transactions, so the expense accounts must exist and be active before you sync.
  • Classifications and vendors set up in DualEntry: Slash reads these as coding options. See How classifications map to Slash for a limitation that affects companies using more than one classification type.

How the Slash connection works

The Slash connection is a push from Slash into DualEntry, relayed by Rutter. When you connect, Rutter stores your DualEntry API key and reads your reference data (accounts, classifications, vendors, customers) so Slash can show it in its coding dropdowns. When you sync a transaction, Slash sends it to Rutter and Rutter creates the record through the DualEntry public API. The connection has three moving parts:
  • Slash holds the card transactions, the coding you apply, and your mapping rules. All review and sync actions happen here.
  • Rutter authenticates to DualEntry with your API key and translates each Slash transaction into a DualEntry record. Rutter lists DualEntry as a supported accounting platform in its DualEntry platform guide.
  • DualEntry receives each synced transaction as a direct expense against the GL account, vendor, and classification you chose in Slash.
Because the API key is what grants access, the key’s roles define exactly what Rutter can do in your DualEntry organization. Revoking the key disconnects Slash immediately.

Connect Slash to DualEntry

Connecting takes two parts: create an API key in DualEntry, then paste it into the Rutter connection window that Slash opens. Complete both in one sitting, because the key is only displayed once. Decide the key’s roles before you create it. Rutter’s setup guide suggests Admin. If you prefer a narrower key, it needs to create direct expenses and vendors (the Accounts Payable role) and read accounts and classifications. See How to Give an Integration Access to DualEntry for what each role permits.
  1. In DualEntry, go to Settings → Organization → Developer access → API Keys and choose +.
  2. Name the key after the integration, for example slash-rutter. The name is the only label you have when you later audit or revoke keys.
  3. Choose the roles you decided on.
  4. Choose Create API Key and copy the key before closing the dialog.
  5. In Slash, go to Settings → Integrations and select DualEntry.
  6. In the Rutter window that opens, paste the API key and submit.
  7. Back in Slash, review the account mappings and sync preferences so Slash accounts correspond to the right DualEntry GL accounts and classifications.
After these steps, Slash shows DualEntry as connected and its coding dropdowns list your DualEntry accounts, vendors, and classification values.

Sync transactions from Slash

Transactions reach DualEntry only when you sync them from Slash. Slash does not send card activity automatically, and a transaction that has a mapping rule applied still waits in Slash until you move it along.
  1. In Slash, open Accounting from the sidebar.
  2. On the In Review tab, assign the required accounting values to each transaction: GL account, vendor, and class.
  3. Attach receipts to any transactions that need them before syncing.
  4. Move coded transactions to Ready to Sync.
  5. Run the sync action on the Ready to Sync tab.
  6. Confirm the transactions move to the Synced tab.
Each synced transaction appears in DualEntry as a direct expense carrying the amount, date, merchant, memo, GL account, vendor, and class you set in Slash, with the receipt attached where one exists. Open it from Accounting → Money Out → Direct Expenses to confirm.

Automate coding with Slash mapping rules

Slash mapping rules fill in DualEntry fields automatically on new transactions, which cuts the manual coding on the In Review tab. A rule matches a Slash attribute, such as the card a transaction was made on, and sets a DualEntry field, such as the GL account, whenever a new transaction matches. You create rules in Slash’s Accounting settings, one DualEntry field at a time: Account, Class, Vendor, and Customer each have their own rule list. For example, a rule that maps the Google Ads card to your Advertising expense account codes every future charge on that card to Advertising. Mapping rules code transactions but do not sync them. An auto-coded transaction still needs to be moved to Ready to Sync and synced before it reaches DualEntry. Rules also apply only to transactions that arrive after you create them, so code existing transactions by hand.

How classifications map to Slash

Rutter presents all of your DualEntry classifications to Slash as a single Class field, which matters if you track spend on more than one classification type. DualEntry lets you define several classification types (for example, Department and Channel) and tag a transaction with a value from each. Slash shows every value from every type in one Class dropdown and lets you pick only one per transaction. In practice this has two effects:
  • Only one classification value syncs per transaction: A direct expense created from Slash carries a single classification. Add values for your other classification types by editing the direct expense in DualEntry after it syncs.
  • Values with the same name look identical: If two classification types both contain a value called Marketing, the Slash dropdown does not show which type each belongs to. Giving values distinct names in DualEntry avoids picking the wrong one.
If you use a single classification type, neither effect applies.

Reconcile Slash spend in DualEntry

Synced direct expenses and your Slash bank feed are separate records, so each card transaction needs to be matched once both exist. If your Slash account feeds bank transactions into DualEntry through Banking Connections, the card charge shows up as an unmatched bank transaction. It stays unmatched until the transaction has been synced from Slash and a direct expense exists to match it against. Sync from Slash first, then match each bank transaction to its direct expense in Bank Match. If a bank transaction has no candidate to match, check the Slash In Review and Ready to Sync tabs: the transaction has usually not been synced yet.

Troubleshoot sync errors

Most Slash sync failures come from the connection, missing coding, or inactive reference data in DualEntry. Read the error message Slash shows on the failed transaction before retrying, because retrying without a fix fails the same way.
Slash Support handles connection, mapping, and sync errors raised inside Slash, through in-app chat. Contact DualEntry support for questions about API keys, roles, or how synced direct expenses behave in your ledger.

Result

After setup, card transactions you code and sync in Slash post to DualEntry as direct expenses against the GL account, vendor, and class you chose, with receipts attached where available. To confirm the integration is healthy, check that recently synced transactions appear under Accounting → Money Out → Direct Expenses, that the API key’s Last Used date is current, and that your Slash bank transactions are matching in Bank Match. To connect more systems, return to Integrations. For card-spend integrations built directly into DualEntry, see Ramp and Brex. For how direct expenses fit alongside bills and payments, see Vendor payments. For Slash’s side of the setup, see Slash’s Syncing Your Accounting Data with DualEntry.
Last modified on September 28, 2026