# Acodei Documentation
> Explore our guides to transform your accounting into a seamless task and optimize your bookkeeping time by unifying Stripe and QuickBooks with Acodei
---
# What's Acodei?
Acodei specializes in the development of cutting-edge financial integration applications. Our primary focus is empowering businesses and accountants by automating their accounting processes, offering a seamless and efficient solution to streamline financial workflows.
Acodei's expertise shines through our flagship product, a robust syncing software designed to facilitate the automated transfer of Stripe data to QuickBooks Online. Over the years, we've proudly assisted thousands of satisfied customers in optimizing their financial management through this seamless integration.
## Benefits for Stripe Users
- Multi-Account Handling: Efficiently manage multiple Stripe accounts with Acodei’s powerful integration capabilities.
- Real-Time Sync: Stay updated with every sale, refund, and payout thanks to Acodei's real-time synchronization feature.
- Superior Support: Whether it’s setup or management, our dedicated support team is always ready to help Stripe business users.
- Detailed Financial Insight: Track both gross revenue and Stripe fees to understand your business activity. Acodei analyzes your financial performance and gains a more accurate portrayal of your business dynamics.
## Benefits for QuickBooks Accountants
- Automated Invoice Matching: Enable invoice sync to generate QuickBooks invoices automatically every time a Stripe invoice is created, with payments reconciled automatically.
- Stripe to QuickBooks Product Mapping: Reflect the diversity of your Stripe products in QuickBooks with ease using Acodei's product mapping feature.
- Discounted cost for Accountants: Acodei is currently offering a 20% discount on the cost of their services to accountants who have three or more paid companies.
- Automated generation of Bank Deposits: Automatically generate bank deposits to correspond with the Stripe payouts, making the task of reconciling payments much easier. This functionality ensures that payment reconciliation is done quickly and accurately, saving time and effort.
---
# Basics Before Starting
The following information contains basic concepts that will help you take advantage of Acodei, including information about test environments (and how to set them up), connections Acodei uses, as well as some helpful definitions.
## Environments
Acodei has two environments available for you to use:
### Test Environment
In this environment, you can test all the functionalities of our application using the test stores we have available for you.
You can access the Test Environment at [https://test.acodei.com/](https://test.acodei.com/). You can access more information about how to use the environment by accessing the available [instructions here](https://docs.acodei.com/docs/test-environment).
### Live Environment
In this environment, you will be able to integrate all your company's real data and start customizing the functionalities we have for you.
The Live Environment is available at: [https://app.acodei.com](https://app.acodei.com/). The instructions to use the Live environment are available [here](https://docs.acodei.com/docs/first-steps).
## Sandbox
The sandbox is an isolated test environment that enables running Acodei applications using dummy data.
To access QuickBooks sandbox accounts for testing purposes, you can join the Test Environment by following these [instructions](https://docs.acodei.com/docs/test-environment/). These accounts are continuously updated with data by Acodei, which provides a genuine experience of previewing the Acodei application. This allows you to perform all the necessary testing with ease.
## Connections
Connections are third-party companies that have a running integration with Acodei's system. Currently, Acodei works through the connection of two base platforms:
### Quickbooks
To start using Acodei, you need to add your QuickBooks account to synchronize your transaction information. Please note that once you have linked your subscription to a QuickBooks company, you cannot switch it to another QBO company. However, you can add additional companies to your Acodei account and manage them separately. If you need to pause the synchronization or manage your linked companies, you can do so from within the Acodei dashboard. To ensure seamless synchronization, please ensure that your QuickBooks Online subscription remains valid throughout your usage of Acodei.
### Stripe
You can connect an unlimited number of Stripe accounts to Acodei. In addition, you can pause or disconnect an account if you wish.
We are always exploring adding connections from other sources for your transactions. If you have a payment provider you'd like to see connected to QuickBooks, let us know.
## Transaction Status
In Acodei's Data Feed module, you can view all transactions originating from Stripe and passed to QuickBooks. These transactions may have three different statuses:
- Synced: The transaction has been synchronized and added correctly to QuickBooks.
- In Progress: The transaction is in the queue; the process may take up to a minute.
- Not Synced: A synchronization error has occurred. For more information, please review this page (link).
---
# About Account Mapping
When setting up an Acodei account, you will designate where Stripe data will go in QuickBooks. For example, you can select an account for Stripe Sales and specify the account where Stripe deposits your earnings. This process is called Account Mapping, ensuring that data is entered into QuickBooks correctly.
Below is an overview of the available accounts that you can select when mapping your Stripe data in Quickbooks using Acodei:
## Stripe Sales Account
This is the account where all sales will go. It will appear in your profit and loss account. The Stripe Sales - Acodei product will appear on sales receipts and invoices. Also, you can set up multiple products in the Account Mapping module in your Dashboard. This is a general sales account.
## Stripe Refunds Account
This is the account where refunds will be entered. It will appear in your profit and loss account. You will see a product for Stripe Refunds - Acodei on a refund receipt.
## Stripe Fees Account
Your chosen profit and loss statement under the designated Fees Account will reflect all Stripe fees, including transaction and other charges. When reviewing a sales receipt, you'll notice the product listed as Stripe Fees - Acodei.
## Stripe Payouts Account
Also known as Stripe Deposit Account, this is the bank account into which Stripe deposits your sales proceeds. It can be any type of bank account. For example, your company's checking account.
## Stripe Holding Account
Your Stripe Holding Account is a QuickBooks reflection of your Stripe Balance, which you can check anytime through the Stripe Dashboard. By default, we use Undeposited Funds because this allows us to create matching deposits for you. For advanced users on a payment account, you can select other asset accounts.
For more information on the Stripe Holding Account, please refer to [this page](/docs/stripe-holding-account).
## Refund Clearing Account
This is an account we use to clear undeposited funds in the event of a negative payment (withdrawal) by Stripe. You can use any of the ones listed in your Dashboard without any problem.
## Basic Product Mapping (Refund)
This is an option that you will have available in the Account Mapping module of your Dashboard. You can toggle this option between yes and no. Each option result is presented below:
- No: all refunds will be deducted from your sales revenue account linked to your default product.
- Yes: you will see refunds as a separate line in your income statement for this option.
If you sell a $100 item and refund $50, selecting No will show the sales in your income statement as $50. If you select Yes, you would see Sales as $100 and Refunds as -$50.
---
# About Acodei's Features
Acodei provides several features to streamline the accounting processes. Knowing all the options available could be useful for you to get the most out of the Acodei application and boost your results. The following is a description of the main options available to you.
## Advanced Duplicate Protection
Despite the many protections we have implemented, the QuickBooks API can create a rare random duplicate transaction. You can enable this optional feature at the Account Mapping section in your Acodei Dashboard as additional protection. You can read more about this feature [here](/docs/duplicate-data/).
## Stripe Fee Management
This feature lets you modify how Stripe fees are viewed in QuickBooks Online. All three options result in correct accounting. Read below for more details on each:
### Include Stripe Fees as a line item on the Sales Receipt
This is the preferred and default option. In this case, each time a transaction occurs, Acodei will create a sales receipt containing two lines, one for the gross amount of the product and one for the fees, so that the sales receipt will show the net sale amount. This method provides up-to-the-minute accounting of your Stripe fees.
### Include Stripe Fees as a line item on the Bank Deposit
This method provides a line item on the sales receipt for the gross amount of the product sale. At the time of payout, Acodei will generate a bank deposit that will select all sales receipts and then add a line item on the bank deposit for all fees for that payout period. This method will only reconcile the fees at the time of payouts.
### Include Stripe Fees in a separate Journal Entry
In this method, Acodei shows the net amount received on the sales receipt and separately creates a journal entry to account for the Stripe fees. This method is not preferred due to the number of journal entries generated, especially if one is created for each transaction.
## Customer Management
Acodei offers several options for bringing customer data from Stripe into QuickBooks Online. When importing customer data, we first try to use the Customer Name field in Stripe. If it is unavailable, we try using the billing section's name. If neither name is available, we offer other options in the Account Mapping module of your Acodei Dashboard.
Please note that we are not currently attempting to access names stored in Stripe metadata.
## Real Time Sync
The default data synchronization frequency is real-time. We record all your transactions in almost real-time, with a slight delay related to the synchronization process.
Use the Daily Summary method if you have a large volume of transactions. With this option, data is synchronized daily.
## Daily Summary 🅿
Daily Summary is a streamlined and efficient method for businesses with a large volume of transactions to manage and synchronize their financial data, reducing the workload in QuickBooks and providing a clearer financial picture.
Detailed information on how to use Daily Summary can be found [here](/docs/daily-summary).
## Class Tracking 🅿
Class tracking allows classes to appear on your sales receipts and invoices.
You can use classes with product mapping, as described in [this page](/docs/class-mapping).
## Multiple Product Mapping 🅿
If you sell several products and want to map them to different revenue accounts, activate the Multiple Product Mapping feature.
You can find more information [here](/docs/multiple-product-mapping).
## Invoice Sync 🅿
If you send invoices using Stripe but want those invoices to appear in QuickBooks, you should use Invoice Sync. This feature will replicate the invoice and also apply the payments.
You can read more about Invoice Sync in [this page](/docs/invoices).
## Stripe Tax 🅿
Tax Sync treats taxes that appear in Stripe similarly to how we treat fees. If tax is found on a transaction, it will display the tax as a third line item on a sales receipt, right below the gross amount and transaction fees.
You cand find more information about it [here](/docs/tax).
🅿 = Premium Features.
---
# Test Environment
Acodei is dedicated to delivering an exceptional user experience, offering a fully functional testing environment for users to explore and test its solution before moving to a live environment. With this testing environment, you can experience the platform's features and capabilities firsthand, allowing you to make informed decisions about adopting Acodei's solution.
To set up your test environment, follow the steps below:
1. Log in to [https://developer.intuit.com](https://developer.intuit.com/) and create a Developer account. This will give you access to QuickBooks sandbox accounts. Ensure you have a sandbox account accessible in your Developer account before proceeding.
1. Create an account at [https://stripe.com](https://stripe.com/).
- After creating your account, you will need to activate it by entering the required information and then put it into test mode by clicking on the switch at the top right of the screen.
- If you already have a Stripe account, you only need to activate the test mode by clicking on the switch at the top right of the screen.
Test Stripe transactions cannot be run in our live application unless you are using a live credit card.
3. Go to [https://test.acodei.com/](https://test.acodei.com/) and register in our application with your name, email address, and password. You can also register using your Intuit Developer account in the Sign up with Intuit option.
3. Once you are logged in, complete the 7 items on the Onboarding checklist to set up your account:
- Connect to QuickBooks. In this case, connect your QuickBooks sandbox account.
- Connect to Stripe. Use your Stripe account in test mode.
- Account Configuration. Set up account mapping.
- Advanced Settings (Optional).
- Test and Connect. Test to make sure everything is working properly.
- Choose Plan and Checkout. You can use a test credit card to upgrade your account.
- Historical Pull (Optional).
Card number: 4242424242424242 Expiration date: Any date in the future. CVV: Any.
5. Once you have completed the Onboarding checklist, you can test transactions in Stripe to see how they follow the Stripe>Acodei>QuickBooks data flow.
If you have any issues using the test environment, please contact us at [support@acodei.com](mailto:support@acodei.com).
---
# Dashboard Modules
## Dashboard Modules
After completing the onboarding checklist, you’ll gain access to the Acodei Dashboard. The interface includes a left-side navigation menu and additional settings available through the gear icon in the top-right corner.
---
### Menu Overview
The modules in the left-hand navigation menu appear in the following order:
1. Dashboard
1. Account Mapping
1. Data Feed
1. Multiple Product Mapping (if enabled)
1. Historical Pulls
1. Duplicate Checker
1. Connections
1. Documentation
1. Support
At the bottom of the menu, you’ll see your current subscription plan and the number of transactions used in your current billing cycle.
---
### Dashboard
This module includes quick-access shortcuts to important areas of your account:
- Invite users to your Acodei workspace
- Multiple Product Mapping (if enabled)
- Historical Pulls
Use this page for direct navigation to commonly used features.
---
### Account Mapping
Use this module to define how Stripe transactions are imported into QuickBooks. You can:
- Create and manage transaction mapping rules
- Configure your chart of accounts preferences
- Access premium features such as enabling Multiple Product Mapping, Invoice Sync, Class Tracking, Stripe Tax, and mapping for other transaction types
---
### Data Feed
This module displays all Stripe transactions synced into QuickBooks. Key features include:
- Search by name or transaction ID
- Apply date and status filters
- Delete or resync individual transactions
---
### Multiple Product Mapping (Visible if enabled)
Configure product-level mapping between Stripe and QuickBooks. This feature is ideal for businesses managing multiple products or services and needing more granular control over how those are represented in their accounting system.
---
### Historical Pulls
Initiate historical data imports from Stripe into QuickBooks. Use the +Historical Data button on this page to start a bulk or custom backfill of past transactions.
---
### Duplicate Checker
Identify and manage potential duplicate entries in your accounting data. This module helps ensure that your QuickBooks ledger remains clean and accurate.
---
### Connections
Manage your Stripe and QuickBooks integrations here:
- Connect or disconnect accounts
- Switch QuickBooks companies
- Add multiple Stripe accounts
- View real-time connection statuses
---
### Documentation
This module links to the Acodei documentation portal, where you’ll find detailed articles on all features and setup processes.
---
### Support
Use the built-in form in this section to contact Acodei’s Support Team for assistance.
---
### Account Settings (Gear Icon)
Click the gear icon in the top-right corner to access personal and account-level settings:
- Profile: Update your user information
- Billing: Manage subscription plan and payment method
- Billing History: View past invoices
- User Management: Add or manage users (feature availability depends on your plan)
---
# Document Creation in QuickBooks
Acodei bridges your Stripe account and QuickBooks, automatically generating relevant documents whenever transactions occur. This includes sales, refunds, payouts, fees, and more. You can choose between two data synchronization methods: Real-Time Sync and Daily Summary. You can also select Undeposited Funds or another account as your Stripe Holding Account, which impacts how Acodei generates documents.
## Real-Time Sync
This option provides immediate updates within QuickBooks, reflecting every Stripe transaction as it happens. Below you can see a comparative table of what you can expect if you use Undeposited Funds as the holding account or another account as the holding account. This is with real-time sync and with the Invoice Sync feature disabled.
| Undeposited Funds Holding Account | Non-Undeposited Funds Holding Account |
|---|
| Sales | Each sale triggers a sales receipt in QuickBooks. | Each sale triggers a sales receipt in QuickBooks. |
| Refunds | Every refund generates a corresponding refund receipt. | Every refund generates a corresponding refund receipt. |
| Payouts | When an automatic Stripe payout occurs, Acodei automatically creates a bank deposit that includes relevant sales and refund receipts. | Acodei generates a transfer from your Stripe holding account to your designated checking account. |
| Fees | You can track fees as line items on sales receipts or within the bank deposit. | You can track the fee as a line item on a sales receipt or in a separate expense. |
| Customers | New customers are added to QuickBooks if an exact match isn't already found. | New customers are added to QuickBooks if an exact match isn't already found. |
| Additional Transactions | Uncommon transactions or balance adjustments are recorded as line items within the bank deposit. | Uncommon transactions or balance adjustments are recorded as line items within the bank deposit. |
The default settings of Acodei use Undeposited Funds as your Stripe holding account, update your QuickBooks in real-time, and have the Invoice Sync feature disabled.
### Invoice Sync Enabled
Whether you keep your Stripe funds in Undeposited Funds or another account, here's how things work when you have Acodei's Invoice Sync turned on and data updates in real-time:
| Invoice Sync Enabled |
|---|
| Sales | Sales receipts will not be generated. On Stripe, a user could have invoice-based payments and a direct charge that is not tied to an invoice. If no invoice is found in Stripe, we will still generate a sales receipt. |
| Invoices | A QuickBooks invoice will be generated if you create a Stripe invoice. |
| Payment Receipts | A payment receipt will be created upon payment of that invoice. If the user has selected Undeposited Funds, payment receipts will be selected on the bank deposit in lieu of sales receipts. If you select Non_Undeposited Funds , we will create a transfer that does not select documents. |
In this scenario, the preferred option for fee tracking is including them as a line item in expense. If you select Undeposited Funds, bank deposit is optimal. On the other hand, if you select Non-Undeposited Funds, expense is optimal.
## Daily Summary
This method provides daily updates instead of real-time. Below you can see a comparative table of what you can expect if you use Undeposited Funds as the holding account or another account as the holding account.
| Undeposited Funds Holding Account | Non-Undeposited Funds Holding Account |
|---|
| Daily Summaries | Acodei creates a sales receipt or refund receipt based on the payout daily data contained within the payout. These summaries could be positive or negative, depending on the day. | Acodei creates a sales or refund receipt that matches your Stripe balance report for that day, encompassing all transactions |
| Payouts | A bank deposit is created, automatically selecting relevant daily summary receipts. | A transfer is created from the Stripe holding account to the checking account |
| Customer Data | Customer data isn't tracked | Customer data isn't tracked |
| Invoice Sync | Invoice Sync is unavailable | Invoice Sync is unavailable |
## Choosing the Right Option
The ideal setup depends on your individual needs and preferences. Consider your transaction volume, how quickly you need updates, whether you use Stripe invoicing, and how you prefer to track fees. Don't hesitate to explore the Account Mapping module within Acodei Dashboard to customize your settings and achieve optimal document creation for your QuickBooks Online account.
On high-volume accounts, we always recommend Undeposited Funds as holding accounts and daily summaries because if you do real-time, it clogs their Quickbooks with too many documents.
It's also good to note that multiple product mapping works with all setups here, which is important to users.
---
# Overview
In this section, we will explore the basic functionalities of Acodei. Designed to enhance your understanding of our application, this section aims to guide you through its operation and help determine the optimal configuration for your business based on your specific needs.
Understand what the Stripe Holding Account is, which account is used by default in Acodei, and other options for funds awaiting deposit.
Learn about the types of documents that Acodei generates in QuickBooks based on your configured settings.
Visualize the basic products that Acodei creates and maps in QuickBooks.
Guide to creating additional products in QuickBooks beyond the basic ones mapped by Acodei.
Explore ways to store and view customer information in Acodei.
---
# Stripe Holding Account
# Choosing the Right Stripe Holding Account in QuickBooks
Acodei keeps your Stripe Balance and QuickBooks in sync by mapping every Stripe balance change to a holding account in QBO.
Because you can have multiple Stripe balances, you can also have [multiple holding accounts](https://docs.acodei.com/docs/managing-multiple-bank-and-stripe-accounts/)—one per balance.
There are two account types to choose from:
| Option | QBO Account Type | Best‑for |
|---|
| Undeposited Funds (a.k.a. Payments to Deposit) | Other Current Assets → Undeposited Funds | Straight‑forward setup that only need balance per‑payout accuracy |
| Non‑UF Asset Account (custom name, e.g. Stripe Holding) | Other Current Assets | High‑volume or complex Stripe activity that requires daily balance accuracy |
> “Bank” type accounts We do not recommend using QBO’s “Bank” type here—too many users accidentally pick the same account for both deposits and holding, which breaks reconciliation. If you truly need a Bank‑type holding account, reach out to us and we’ll enable it for you.
---
## 1. Undeposited Funds (UF)
What it is A built‑in QBO account that temporarily parks Stripe sales until they hit your bank.
Why use UF
- Automatic payout reconciliation – Each Acodei‑created deposit matches one Stripe payout on your bank feed; when you click Match, UF clears itself. (See our [Reconciliation of UF](https://docs.acodei.com/docs/reconciliation-of-undeposited-funds/) article for more information)
- Zero setup – Every QBO file already has the account.
- Fewer clicks – Great for businesses that don’t care about daily Stripe balance accuracy.
Limitations
- Large volume or mixed payment sources can make the UF register bulky.
- Daily balance will not equal Stripe (fees, disputes, Stripe Capital, FX, etc. only post on payout day).
- Rules or auto‑add transactions in the bank feed can break matching.
> Using UF with Stripe payouts Payout funds sit in Stripe until the payout starts, so QBO shows them in UF. Minor differences (fees visible only after payout) disappear once the payout‑deposit is matched.
---
## 2. Non‑UF Asset Account (“Stripe Holding”)
What it is A custom Other Current Asset account that Acodei updates every day with a single summary journal entry.
Why people choose it
- Daily, to‑the‑penny balance – Stripe balance in QBO always equals Stripe’s own “Balance Report.”
- Better visibility – Disputes, fees, and capital loans show up the day they occur.
- Scales with volume – When coupled with [Daily Summary](https://docs.acodei.com/docs/daily-summary/), even tens of thousands of transactions can compress down into one daily entry.
Things to consider
- One‑time setup – You must record an opening balance that matches your live Stripe balance the day you switch.
Create a journal entry that debits your new holding account and credits
Opening Balance Equity
(or a similar equity account) so the account begins exactly at the current Stripe balance.
- Monthly reconciliation – Compare the QBO register’s ending balance to Stripe’s month‑end balance. (See our [Asset‑Account Reconciliation](https://docs.acodei.com/docs/reconciliation-of-an-asset-account/) article.)
---
## 3. Switching Between Accounts
If you move from UF to a Non‑UF asset (or vice‑versa) delete all Acodei‑created transactions tied to the old account first, then pick the new account in Acodei and rerun the sync. Mixing transactions from both models in the same period will create duplicate revenue and mismatched balances. If you have any issues resyncing your data, don't hesitate to reach out to support.
---
## 4. Clearing Refunds Account – Handling Negative Payouts
During onboarding Acodei prompts you to add a Clearing Refunds Account. Stripe “negative payouts” (when refunds exceed sales) post here instead of sitting in UF forever.
- The balance in this clearing account should always be $0, unless another negative payout is pending.
- If it isn’t, email us at [support@acodei.com](mailto:support@acodei.com) so we can walk through a tidy‑up.
---
## Quick Decision Guide
| If you… | Choose… | Why |
|---|
| Want the simplest workflow and only need balances correct per payout | Undeposited Funds | Auto‑matches deposits, no monthly Stripe reconciliation needed |
| Need Stripe balance correct every day or have high‑volume / multi‑currency / capital‑loan activity | Non‑UF Asset Account | Daily summary entries keep QBO in lock‑step with Stripe |
Either model works—pick the one that fits your accounting goals. Still unsure? Ping us in support and we’ll talk through your Stripe setup.
---
# Fees
While setting up your account, we request that you select your Stripe Fees Account. This account will be linked to the QuickBooks product Stripe Fees - Acodei. This ensures that all fees associated with sales in your Stripe account will be recorded in Acodei and shortly thereafter in QuickBooks.
This page shows you how fees will be recorded.
## Viewing in QuickBooks
In your Acodei Dashboard, you can customize how fees appear in QuickBooks. To do so, navigate to Account Mapping > Fee Management. You have three options:
- Include Stripe Fees as a Line Item on the Sales Receipt: This is the preferred and default option. Acodei will create a sales receipt with two lines for each transaction: one for the gross product amount and one for the fees. This provides a clear view of the net sale amount and ensures up-to-the-minute accounting of your Stripe fees.
- Include Stripe Fees as a Line Item on the Bank Deposit: This option adds a line item on the sales receipt for the gross product amount. At payout, Acodei generates a bank deposit that selects all sales receipts and adds a line item for fees during that payout period. This method reconciles fees only at the time of payouts.
- Record Fee as Expense: This option is available when the Invoice Sync is turned on or when Non-Undeposited Funds is selected on the Holding Account. If you select Undeposited Funds, the bank deposit is optimal. On the other hand, if you select Non-Undeposited Funds, the expense is optimal.
Advanced mapping for Stripe transaction fees is now available. For example, you can map fees for a specific product to a specific expense account. See more [here](https://docs.acodei.com/docs/multiple-product-mapping/#refunds-advanced). However, Stripe Billing fees, Stripe Invoicing fees, etc., are aggregated into a default fee product.
---
# Refunds
We ask you to select your Stripe Refunds Account during your account setup. This account will be linked to the product we create in QuickBooks called Stripe Refunds - Acodei. This ensures that all refunds recorded in your Stripe account will be registered in Acodei and, within moments, in QuickBooks.
On this page, we show you how refunds will be recorded in Acodei and in QuickBooks
## Viewing Refunds in Acodei[](https://docs.acodei.com/docs/refunds/#viewing-refunds-in-acodei)
To view your refunds:
1. Navigate to the Data Feed module on your Acodei Dashboard.
1. Access the Sales & Refunds tab.
1. You will see your transactions listed with the following details:
- Date
- Customer Name (dependent on your [Customer Data](https://docs.acodei.com/docs/customer-management/) settings)
- Transaction Type and Reference ID
- Amount
- Status (Synced, In Progress or Not Synced)
Both the sale and refund will be registered accordingly:
## Viewing Refunds in QuickBooks
To view synchronized refunds in QuickBooks:
1. Go to the left side Menu
1. Click on Sales > All Sales
1. You will see your transactions listed with the following details:
- Date
- Transaction Type
- Reference Number
- Customer Name
- Memo
- Amount
- Transaction Status
### Basic Product Mapping
We determine if the refunds go to the same account as the sales if the user chooses the same product on the account mapping page. If both accounts are the same, refunds go to the sales account. Otherwise, they are split out.
By default, a refund on a sale that had multiple product mapping will attempt to match up with the product, so that refunds will go into the sales account for that product. But if we can't determine which product was refunded, we send the refund to the default refund account.
You can also set up Multiple Product Mapping for refunds. See more [here](https://docs.acodei.com/docs/multiple-product-mapping/#refunds-advanced).
---
# Sales
While setting up your account, we ask you to select your Stripe Sales Account. This account will be linked to the product we create in QuickBooks called Stripe Sales - Acodei. This ensures that all sales recorded in your Stripe account will be registered in Acodei and, within moments, generate a sales receipt in QuickBooks.
This page shows you how sales will be recorded in Acodei and in QuickBooks.
## Viewing Sales in Acodei
To view your sales:
1. Navigate to the Data Feed module on your Acodei Dashboard.
2. Access the Sales & Refunds tab.
3. You will see your transactions listed with the following details:
- Date
- Customer Name (dependent on your [Customer Data](/docs/customer-management) settings)
- Transaction Type and Reference ID
- Amount
- Status (Synced, In Progress or Not Synced)
If you encounter synchronization issues, please refer to the tooltips on the Data Feed and this troubleshooting page [Sync Errors](/docs/stripe-payouts-not-syncing-and-mismatches/).
## Viewing Sales in QuickBooks
To view synchronized sales in QuickBooks:
1. Go to the left side Menu
2. Click on Sales > All Sales
3. You will see your transactions listed with the following details:
- Date
- Transaction Type
- Document Number
- Customer Name
- Memo
- Amount
- Transaction Status
Additionally, clicking on a transaction provides detailed sales information.
If the [Invoice Sync](/docs/invoices) functionality is enabled, sales receipts will not be generated in QuickBooks. Payment receipts will be selected in the bank deposit instead of sales receipts.
If the [Daily Summary](/docs/daily-summary) option is enabled, sales receipts will not show each individual transaction. Instead, sales receipts will display the aggregate transaction activity from Stripe for that day.
---
# Product Creation in QuickBooks
QuickBooks offers a system for tracking sales tied to a product through its Products and Services feature. In addition to the [three basic products](/docs/basic-products) created by Acodei during the onboarding phase of setup, you can also create additional products based on your needs. This page explains why creating new products is useful and how you can create a new product in QuickBooks.
## Why Create Products?
Products in QuickBooks are used to track sales of specific items meticulously. For instance, a single sale at a retailer may encompass various items like t-shirts, pants, and socks, each necessitating representation by a product in QuickBooks. Sales receipts, refund receipts, and invoices effortlessly integrate with products, making them indispensable for use with Acodei. After they’re created, products are then linked to an income or expense account, reflecting on your Profit & Loss Statement. For instance, T-shirts A and B could be mapped to a T-shirts account on your chart of accounts. Additionally, you can generate a product breakdown report for further analysis.
## How Acodei Uses Products
Acodei employs products extensively for mapping functionality. During setup, you will designate an account for receiving payouts, a Stripe holding account, and which accounts you want your products to map to.
We create three products during onboarding: one for sales, one for refunds, and one for fees. However, you will need to create dedicated products for multiple product mappings, tax tracking, or uncommon transaction types like Stripe Connect or Stripe Capital. Each product should be mapped to an income or expense account or, in some cases like Stripe Capital, a liability account.
## How to Create a Product in QuickBooks
To create a product in QuickBooks, follow these steps:
1. Log in to your QuickBooks account.
1. Click on the Sales option in the left side menu.
1. Select the Products and Services top tab.
1. Click the green New button at the top right corner of the Products and Services page.
1. Choose the appropriate type of product or service you want to create. QuickBooks provides options like Inventory, Non-inventory, Service, and more.
Acodei suggests creating products as Non-Inventory or Service types for optimal functionality.
6. Fill in the details for the product or service you create, such as the name, description, sales price, cost, and income account.
For Acodei's purposes, set your products to be Nontaxable since QuickBooks Tax can disrupt your sales amounts.
7. Set the income account to track the revenue associated with this product or service.
The income account field can also accept expenses or liabilities, which is useful for products mapped to fees, refunds, or uncommon transaction types.
8. Save the product or service by clicking the Save and Close or Save and New button.
8. Add your products to the Account Mapping, Multiple Product Mapping, or Uncommon Transaction modules in Acodei.
---
# Customer Data
Customer data syncing through Acodei's functionality is crafted to integrate customer information between Stripe and QuickBooks platforms seamlessly. This ensures consistency and accuracy of customer data across both systems, streamlining financial management and record-keeping processes.
## Customer Management Settings
When importing customer data, our initial step is to try using the Customer Name field in Stripe. If that's unavailable, we attempt to use the name from the Billing section. The first decision you need to make is whether to sync individual names or use a default customer name. If you opt to sync individual names, we'll prioritize the customer name field in Stripe, falling back on the billing name if necessary. In cases where neither name is available, you'll have three options, which can be accessed on your Acodei Dashboard under Account Mapping>Customer Management:
1. Create a customer using an email address;
1. Use a default name of your choice or;
1. Leave the customer name empty.
Please note that we do not currently access names stored in Stripe metadata.
## Customer Creation and Matching
There are four key points to understand how customer data syncing works in Acodei:
- Exact Name Matching Acodei's system automatically links customer records when the name in Stripe precisely matches a name in QuickBooks. This process eliminates duplication and maintains data integrity. Notably, in Stripe, the name should be in the Name field of the Customer Object, while in QuickBooks, Acodei utilizes the Customer Display Name field.
- Handling Name Discrepancies If a corresponding customer is absent in QuickBooks, Acodei automatically generates a new customer entry. This feature prevents the omission of customer records and guarantees comprehensive financial tracking.
- Creating New Customers Our system relies on exact name matching, so Stripe names should precisely match a QuickBooks customer name. When a slight discrepancy exists, a new customer will be created. We recommend adjusting a customer’s name in Stripe or QuickBooks to ensure data fidelity.
If you have set up syncing and wish to view customer names in QuickBooks but cannot see them, you can adjust your code in Stripe or modify your [Customer Management settings](#customer-management-settings). Afterward, go to the Data Feed module, select the transactions, and utilize the action dropdown to resynchronize the data.
QuickBooks does not allow a Customer and Vendor to have the same name. If we detect a customer that cannot be created because a vendor of the same name exists, we will create the customer and add ‘-C’ to the end of the name to denote that it is a customer.
---
# Overview
In this section, we'll explore Acodei's advanced features. We'll show you what each one does, how to activate it, and the various settings it offers. This is to help you decide on the ideal configuration for your business. These features are available in Acodei's paid plans.
Assign classes to your products for granular financial tracking and comprehensive business analysis.
Map sales to multiple QuickBooks accounts for customized income tracking and detailed financial analysis.
Synchronize Stripe invoices with QuickBooks for accurate accounts receivable management and streamlined reconciliation.
Access beta sales tax support for automatic tax tracking and reporting in Acodei.
Learn how to protect your QuickBooks account against duplicate data for optimal accounting records.
---
# Class Tracking
In QuickBooks, classes serve as categories linked to your products. They play a vital role in organizing financial data in more detail. When integrating with Stripe, it's essential to map each class distinctly. Here's a straightforward guide to walk you through the process.
## How to Enable Class Tracking in Acodei[](https://docs.acodei.com/docs/class-mapping/#how-to-enable-class-tracking-in-acodei)
To activate this premium feature of Acodei, follow these instructions:
1. Go to your Acodei Dashboard and navigate to the Account Mapping module
2. Scroll down to the Class Tracking section
3. Click on yes, next to enable the feature.
4. Click on the blue Save Changes button at the bottom to save it
## Setting Up Your Products and Classes in QuickBooks[](https://docs.acodei.com/docs/class-mapping/#setting-up-your-products-and-classes-in-quickbooks)
At the simplest level, Acodei Class Tracking will add classes to your sales receipts and invoices, as indicated in your default products.
In a more advanced setup, suppose you have two products (Product A and Product B) and two classes (Class A and Class B). To map these effectively in QuickBooks, each product-class combination needs its own setup:
Product 1: Combines Product A with Class A Product 2: Combines Product A with Class B Product 3: Combines Product B with Class A Product 4: Combines Product B with Class B
For more information on creating products, please visit [Product Creation in QuickBooks](https://docs.acodei.com/docs/create-a-product-in-quickbooks/).
## Mapping Your Products[](https://docs.acodei.com/docs/class-mapping/#mapping-your-products)
Once your products are configured in QuickBooks, you can begin the [mapping process](https://docs.acodei.com/docs/multiple-product-mapping/). There are several methods to set up mapping for your products and classes. Select the one that suits your company best.
Once your product mapping is complete based on your desired criteria, you should see classes populate alongside the product on sales receipts and invoices.
---
# Multiple Product Mapping
Multiple Product Mapping in Acodei gives you control over how your Stripe transactions sync into QuickBooks. Whether you sell different products, offer multiple subscription tiers, or use platforms like Kajabi or Thinkific, this feature helps you categorize income, fees, and refunds accurately in QuickBooks.
---
## What Is Multiple Product Mapping?
By default, all Stripe payments sync into a single QuickBooks product. But if you sell multiple products or services, or want to separate different income sources, you likely need more granularity.
Multiple Product Mapping (MPM) allows you to:
- Map Stripe transactions to different QuickBooks products/services
- Match transactions based on Product ID, metadata, description, price, or Stripe account
- Maintain a clean and accurate chart of accounts
---
## How It Works
When a Stripe transaction is received, Acodei checks your list of mapping rules in order (from top to bottom). The first rule that matches is applied. You can:
- Combine multiple rule types (e.g., Product ID, Metadata, Description)
- All products mapped will be evaluated from top to bottom on our Multiple Product Mapping list. Prioritize more specific rules by moving them higher in the list
---
### Managing Products in QuickBooks Online
To implement multiple product mapping in QuickBooks, it's essential to understand QuickBooks Products. Product mapping is necessary for creating Sales Receipts and Invoices.
To create a new product, follow [these instructions](https://docs.acodei.com/docs/create-a-product-in-quickbooks/).
For US-based companies, ensure the product is nontaxable, as sales tax is handled elsewhere.
Your product mapping may resemble the image provided below.
---
## Different Ways to Map
You can use any combination of these rule types:
### 1. Stripe Product Mapping
Stripe Product Mapping is the only mapping type that allows for mapping multiple line items separately on one transaction in QuickBooks.
There are three different ways to map using Stripe Products:
-All Prices (Product ID Only)
- This option maps all Stripe prices associated with a given Product ID to a single QuickBooks product.
* Best for: Simple products with one or more price tiers that don’t need to be separated in your books.
Acodei will sync any charge tied to this Product ID, regardless of the Price ID used. You don’t have to specify a price; the rule applies to all of them.
Example:
If your Stripe product “Online Course” has monthly and yearly prices, both will map to the same QuickBooks product.
With Value (Numeric Matching)
This option allows you to match one Stripe product to multiple QuickBooks products based on the Stripe price, using conditions like:
- Equal to
* Greater than
- Less than
- Best for: Cases where prices for one Stripe product vary or you're using dynamic pricing and want to categorize based on value thresholds.
Example:
You might create a rule like: “If price is greater than 5000, map to Premium Product.”
With Stripe Price ID
- This is the most specific option. It maps a transaction to a QuickBooks product only if it exactly matches a Stripe Price ID.
- Best for: Subscriptions with multiple billing tiers (e.g., monthly, annual, regional) where each needs its own line in QuickBooks.
Acodei will only apply this rule when a charge or invoice contains this exact Price ID.
---
### 2. Description Matching
Matches transactions by checking if the Stripe description contains specific text.
To match a product in QuickBooks, use the description field in Stripe transactions. This field is mapped on the charge, payment intent, and subscription webhooks. The field is configured through code or by a third-party app connected to Stripe. If yours is blank or has default text (Payment for Invoice, Subscription Update, and Subscription Creation), work with your developer or a third-party app to fill the field with a successful charge.
We parse the mapping list from top to bottom for all product mapping. So, make sure you list your items accordingly. With this in mind, Description mapping is not recommended for complex mapping with many products because text-based matching has limitations and can be error-prone.
---
### 3. Transaction Value
Utilize the transaction value mapping in special cases where you want to match products that consistently have the same value. For instance, if you have three tiers of transactions - a $9 tier, a $19 tier, and a $29 tier - you can assign each of these unique values to a specific product and income account. Generally, this mapping type should only be used if you have a small number of products with values you plan to keep the same.
- We use the gross amount (before fees).
- For multi-currency contexts, the system checks the currency first. If the transaction is $9.99 USD, it must match a rule also set to USD 9.99. Otherwise, it fails the match.
---
### 4. Stripe Metadata
Matches transactions based on custom metadata attached to charges, subscriptions, or invoices.
Typically, with assistance from a developer, you can create Stripe metadata on charges similar to the example shown in the image below.
With the Stripe Metadata Mapping option, you can link Keys (the value on the left) and Values (the value on the right) to specify the QuickBooks product you want to map. This can be useful in various situations, particularly when combining multiple elements requires a more intricate connection than what description mapping can offer alone.
---
### 5. Stripe Account ID
If you have multiple Stripe accounts connected, you can choose to map transactions based on which Stripe account they come from. For instance, if you have two Stripe accounts - Stripe account A and Stripe account B - you can assign all transactions from Stripe account A to a Consulting product, and all transactions from Stripe account B to the Merchandise product.
---
## Mapping Refunds and Fees
Mapping Refunds and Fees follows the same rules (and uses the same Mapping types) as Multiple Product Mapping for sales as explained above. Simply select Refund or Fee in the Type selector:
### Refunds (Advanced)
You can use Multiple Product Mapping to control how refunds are posted in QuickBooks.
By default, Acodei attempts to post refunds to the original mapped product (e.g., if Product A was sold, refund goes to Product A). However, you can also:
- Use Multple Product Mapping to map specific refunds
- Enable the admin option: “Always route refunds to the default refund product.” This must be done on the backend, so email [support@acodei.com](mailto:support@acodei.com) to have it enabled on your account.
Default Refund Mapping Behavior:
| Scenario | Refund Posting Behavior |
| Partial refund (1 item) | Refund posts to original product |
| Partial refund (multiple items) | Refund posts to default refund product |
| Full refund (1 item) | Refund posts to original product |
| Full refund (multiple items) | Refund posts to default refund product |
| Override enabled | All refunds post to default refund product |
If you enable Multiple Product mapping for Refunds, then you can map refunds for specific Stripe products/transactions to a specific QuickBooks Product (not the original product or the default refund product).
Multiple Product Mapping Refund Behavior:
| Scenario | Refund Posting Behavior |
| Partial refund (1 item) | Refund posts to QuickBooks product used in MPM for refund |
| Partial refund (multiple items) | Refund posts to the specific product that the refunded item was mapped to in MPM |
| Full refund (1 item) | Refund posts to QuickBooks product used in MPM for refund |
| Full refund (multiple items) | Refund posts to the specific products that the refunded item was mapped to. |
---
### Stripe Fees (Advanced)
If you set up Multiple Product Mapping for fees, you can also map Stripe fee entries to a specific QuickBooks Product/Service.
---
### Why Rule Order Matters
You can have multiple rules that a transaction could match, but only the first match is used.
Example:
| Rule Order | Match Type | Criteria | QuickBooks Product |
| 1 | Description contains | "Course" | General Course |
| 2 | Product ID | prod_ABC123 | Premium Course |
If a charge includes “Course Level 2” in the description and also has Product ID prod\_ABC123, Rule 1 applies and overrides Rule 2—unless you move Rule 2 higher.
Use the drag handle (dots on the left of the mapping) in the UI to reorder your rules.
---
## How to Set Up Mapping Rules
1. Go to Account Mapping in your Acodei dashboard.
1. Scroll to Product Mapping and enable Multiple Product Mapping:
3. Click on Multiple Product Mapping on the left-side menu.
3. Click Add New Mapping Type
3. Select a mapping type (e.g., Product ID, Metadata).
3. Select a Stripe account (if you have more than one Stripe account connected).
3. Select a transaction type (sale, refund or fee).
3. Input match criteria (e.g., prod\_ABC, metadata:course\_type=premium).
3. Choose the corresponding QuickBooks product/service.
3. Click Save.
3. Drag to reorder rules for priority (dots on left of mapping rule).
---
## App-Specific Examples
### Thinkific
1. Copy your Thinkific Product ID from the course link.
1. Add a mapping rule in Acodei using that Product ID.
1. Map it to a QuickBooks product tied to your income account.
[Full Thinkific Instructions](https://docs.acodei.com/docs/thinkific-integration/#multiple-product-mapping)
---
### Kajabi
1. Locate the Offer ID from the Kajabi course URL.
1. Map each offer to a distinct QuickBooks product in Acodei.
1. The system pulls in your recent offers automatically on setup.
[Full Kajabi Instructions](https://docs.acodei.com/docs/kajabi-integration/#multiple-product-mapping)
---
## Best Practices
- Most specific rules go first
- Place broad rules like “description contains” lower in the list
- Update rules if Stripe products or prices change
- Test changes with small transactions first
- Monitor for failed/incorrect mappings
---
## Troubleshooting
| Issue | Likely Cause | Fix |
| Transaction mapped to default product | No matching rule or incorrect value | Check rule criteria or reorder |
| Wrong QBO product used | Generic rule above specific one | Drag specific rule higher |
---
## Summary
Multiple Product Mapping gives you detailed control over how your Stripe transactions—including sales, refunds, and fees—post to QuickBooks. Whether you're selling a few digital products or running a complex multi-tiered platform, this feature ensures your financials stay organized.
Key Takeaways:
- Only the first matching rule is used—order matters.
- Combine different mapping types for flexibility.
- Refunds and fees can be routed using the same rule system.
- Contact [support@acodei.com](mailto:support@acodei.com) if you need help configuring complex rules.
---
# Invoice Sync
Acodei has a one-way invoice synchronization feature, catering to businesses that generate invoices in Stripe while managing financial tracking, including accounts receivable and outstanding invoices, in QuickBooks. This is a feature available in the paid plans.
## Ideal Use Cases[](https://docs.acodei.com/docs/invoices/#ideal-use-cases)
Some examples of ideal use cases for the Invoice Sync functionality are:
- Perfect for managing accounts receivable in QuickBooks.
- Useful for handling credit issues and manually marking Stripe invoices as paid.
- Ideal for managing complex invoice flows.
Although our invoice sync feature covers most invoicing needs, we encourage testing to ensure it meets your specific business requirements.
## How to Enable Invoice Sync[](https://docs.acodei.com/docs/invoices/#how-to-enable-invoice-sync)
To activate this premium feature of Acodei, follow these instructions:
1. Go to your Acodei Dashboard and navigate to the Account Mapping module
1. Scroll down to the Invoice Sync section
1. In the Stripe Invoices section, select Yes
1. Select Yes or No in the invoice specifications
1. Click on the blue Save Changes button at the top to save it
Standard functionalities such as Customer Data Syncing, Product Syncing, and Fee Management remain operational. Minor adjustments are made in the background to support the new Invoice Sync logic.
## Key Functional Aspects[](https://docs.acodei.com/docs/invoices/#key-functional-aspects)
Certain functional aspects will help you understand and make the most of Invoice Sync. Here are the three main aspects.
### Automatic Application[](https://docs.acodei.com/docs/invoices/#automatic-application)
Matching customer names from Stripe into QuickBooks, along with enabling the automatic application setting in QuickBooks, results in automatic application of payment receipts and credit memos to the respective invoice or customer account.
Generating a payment receipt for payments received outside of Stripe is now optional.
### Handling Invoice Numbers with Suffixes
A known issue arises with sequential invoice numbering in QuickBooks, especially when syncing with Stripe's unique invoice numbers (e.g., ABC-ABCD-001). A manual invoice created in QuickBooks after an Acodei-generated invoice may cause a duplicate invoice number error.
To resolve conflicts, enable suffixes in invoice settings, adding a unique identifier to each Acodei-generated invoice number (e.g., ABC-ABCD-001-AC1). Opt-out of this setting if you don't create manual invoices in QuickBooks.
### Mandatory Name Field in QuickBooks
QuickBooks Online requires a name for each invoice, while Stripe only needs a customer ID. Discrepancies may result in Unnamed Customer entries in QuickBooks for invoices originating from Stripe. Resolve by manually modifying the customer's name in QuickBooks or fixing the customer name in Stripe.
## Invoice Flow
Below, you can find an image illustrating the flow that Stripe invoices undergo to QuickBooks with the integration of Acodei.
## Syncing Stripe Payments to Existing QuickBooks Invoices[](https://docs.acodei.com/docs/invoices/#syncing-stripe-payments-to-existing-quickbooks-invoices)
You may want to match payments made in Stripe with Invoices created in QuickBooks.
Although payments can't be automatically applied to invoices created in QuickBooks Online, we can create payment receipts on a Stripe payment, which you can manually match. You can easily match the two if the name/customer is the same between the invoice and payment receipt. If they're different, you may have a bit of extra work.
This option must be enabled on the back end of the app, so please email [support@acodei.com](mailto:support@acodei.com) if you'd like this enabled on your account.
## Quantity Tracking[](https://docs.acodei.com/docs/invoices/#quantity-tracking)
Typically, when an invoice syncs, the quantity Acodei pushes to QuickBooks will always be one. If Quantity Tracking is enabled, Acodei will sync over the quantity amount from Stripe to QuickBooks on the invoice.
This feature must be enabled on the back end of the app, so please email [support@acodei.com](mailto:support@acodei.com) if you'd like this enabled on your account.
---
# Stripe Tax
Acodei integrates with Stripe Tax to keep your QuickBooks sales tax records accurate. With Stripe Tax enabled, Acodei will automatically sync calculated taxes from Stripe into QuickBooks so you can easily track what you’ve collected and stay compliant.
---
## How Stripe Tax Works
Acodei supports two ways of syncing Stripe Tax into QuickBooks:
1. Tax Product (Simple Method)
- Best for U.S.-based QuickBooks accounts.
- All taxes are grouped into one product (e.g., “Sales Tax”) tied to a liability account in QuickBooks.
Use Stripe’s own reports to see detailed state/county breakdowns when filing.
2. QuickBooks Tax Rate Mapping (Advanced Method)
- Available for non-U.S. QuickBooks accounts.
- Each Stripe Tax Rate (e.g., VAT, GST) can be mapped to the correct QuickBooks tax code.
Supports multiple taxes on the same line item (e.g., GST + PST mapped to a QuickBooks group tax).
Note: U.S. QuickBooks accounts are limited by Intuit’s rules and can only use the Tax Product method. Non-U.S. accounts may use either option. If you are a U.S.-based company seeking more precise tax entries in QuickBooks, please contact us.
---
## Setup Instructions
1. Log into your Acodei Dashboard.
1. Open the Account Mapping module.
1. Scroll down to the Stripe Tax section.
1. Toggle Yes to enable Stripe Tax.
1. Choose your method for syncing tax into QuickBooks:
A. Tax Product (Simple Method)
1. Create or select a non-inventory product in QuickBooks (e.g., “Sales Tax”) tied to a liability account.
1. In Acodei, select this product so all Stripe Tax amounts are rolled into one line item in QuickBooks.
3. Click Save Changes
B. QuickBooks Tax Rate Mapping (Advanced Method)
1. First, choose whether your tax is:
- Inclusive → Tax is already included in the item’s price. Acodei adjusts QuickBooks so totals match Stripe.
- Exclusive → Tax is added on top of the item’s price.
2. Select your Default Tax Product Rate and Default Tax Fee Rate:
- These act as fallback tax rates for unmapped cases.
- Typically, set both defaults to Exempt, unless you want a specific rate applied when no Stripe Tax mapping exists.
3. Acodei will pull in all Stripe Tax Rates from your Stripe account (e.g., VAT 20%, GST 5%).
3. For each Stripe Tax Rate, select the matching QuickBooks tax code from the dropdown (e.g., Stripe “VAT 20%” → QBO “VAT 20%”).
3. If multiple Stripe Tax Rates apply to a single line item (e.g., GST + PST), select them together and map them to a QuickBooks group tax code.
3. Click Submit Changes to save your setup.
---
## Refunds
- Credit Note Refunds (Recommended) → Tax is properly adjusted in QuickBooks.
- Payment-Only Refunds → Stripe doesn’t always provide line-level detail, so tax may need manual adjustment.
Please email [support@acodei.caom](mailto:support@acodei.caom) if you need additional help with tax refunds.
[See our guide on handling incorrect refunds](https://www.notion.so/Handling-Incorrect-Tax-Refunds-1de742540728808dad08dad5e6eee820?pvs=21).
---
## Daily Summary vs. Real-Time Sync
- Daily Summary → Combines all transactions from the day into one QuickBooks entry, with tax amounts split by product + tax rate.
- Real-Time Sync → Each invoice or payment syncs individually, with full tax detail.
---
# Adding Custom Features
At Acodei, we understand the diverse landscape of third-party apps utilizing Stripe and the varied accounting preferences across different companies. To address these unique needs, we offer comprehensive custom integration services.
## Initial Consultation
When you approach us with a specific requirement, we initiate the process with an in-depth discussion to fully comprehend your needs. This initial call serves as the foundation for devising a tailored solution.
## Scope of Work
Following the initial consultation, we meticulously outline the scope of work. This document delineates the estimated number of hours required to fulfill your project requirements. We ensure transparency in our estimates, striving to provide accurate assessments.
## Pricing
Our rate for custom integrations is $250 per hour. We prioritize transparency in pricing and always provide a detailed cost estimate before commencing work. We require a 50% deposit before starting a project and collect 50% when work is completed. We stand by all custom integrations and will work with you until the feature is done according to the scope we've laid out.
## Past Custom Projects
Our history of custom integrations encompasses a diverse array of projects, including:
- Unique Product Mapping: Addressing intricate product mapping scenarios or customized Stripe flows that require custom logic.
- QuickBooks Metadata and Custom Fields: Integrating Stripe metadata line items into QuickBooks documents for enhanced record-keeping, such as location or unique customer name placements.
- App Functionality Tweaks: Customizing our app's functionality to suit specific requirements, such as modifying invoice creation while retaining payment creation functionality.
## Tailored Solutions
For each custom project, we develop a dedicated instance of our application tailored specifically to your company's needs. Our team diligently modifies the functionality to align with your unique specifications, ensuring a seamless integration experience.
---
# Daily Summary
Daily Summary in Acodei offers a streamlined and efficient method for businesses with high transaction volumes to manage and sync their financial data. It reduces the workload on QuickBooks and provides a clearer financial overview.
Daily Summary, unlike Real-Time Sync, consolidates data into daily summaries instead of updating each transaction individually. This method reduces the data processing load on both your system and QuickBooks. Daily Summary supports product mapping, sales, refunds, and fees.
In Acodei's paid accounts, users can opt for one of two data syncing frequencies:
- Real-Time Sync: Included with all plans.
- Daily Summary: Available on the Starter and Scale plans.
The Daily Summary feature is recommended for businesses handling a high volume of monthly transactions (over 500).
## Key Points about Daily Summary
There are two important considerations before deciding to use Daily Summary:
- Invoice Syncing: Daily Summary doesn't sync individual invoices from Stripe to QuickBooks. If this is necessary, Real-time Sync is required.
- Customer Names: Daily Summary aggregates daily transaction data and doesn't include customer names. This is generally okay for businesses with numerous customers that do not need Invoice Sync.
## How to Enable Daily Summary in Acodei
To activate this premium feature of Acodei, follow these instructions:
1. Go to your Acodei Dashboard and navigate to the Account Mapping module.
1. Click on Daily Summary under the Deposit and Holding Accounts section.
1. Select the product mapping options.
1. Click on the blue Submit Changes button at the top to save it.
## Using Daily Summary in Different Contexts
The operation mode and the generation of receipts vary depending on the holding account being used. Below, you can find a table showing the differences.
| With an Undeposited Funds Account | With Other Stripe Holding Accounts |
|---|
| Daily Action | If you receive a Stripe payout on January 5th covering transactions from January 2nd to 4th, Daily Summary will generate three separate sales (or refund receipts if negative) for each of these days, summarizing all transactions and fees. | Acodei creates a daily sales or refund receipt linked to your chosen holding account, mirroring the daily Stripe Balance Report, accessible via Stripe’s Dashboard. |
| Payout Action | Upon payout, the receipts are generated and automatically grouped into a deposit in QuickBooks. | Upon payout, Stripe payouts appear as transfers in the QuickBooks bank feed. |
Opting for a different Stripe holding account, such as one other than Undeposited Funds, makes Daily Summary even more straightforward for tracking and reconciliation.
## Reconciling and Financial Tracking
Regarding reconciling and financial tracking when using the Daily Summary feature, there are two important points to keep in mind:
- Stripe Balance Report: Acodei replicates the Balance change from activity section of the Stripe report in QuickBooks, displaying gross sales, fees, and refunds for each distinct day.
- Reconciliation: It's crucial to reconcile your QuickBooks Holding Account using the Stripe Balance Report for accurate financial tracking. This is done by checking your ending balance on a given day in Stripe and ensuring it is the same in QuickBooks. This process is simplified by utilizing Daily Summary.
---
# Managing Multiple Bank and Stripe Accounts
# Managing Multiple Bank and Stripe Accounts
Acodei allows you to manage multiple Stripe accounts within a single QuickBooks company. Depending on your configurations and needs, you may want or need to use multiple holding/deposit accounts.
---
## Stripe Accounts
You can connect multiple Stripe accounts in Acodei. Each Stripe account can be managed separately, with its own product mappings and account settings.
### Holding and Deposit Accounts
- Holding Account
- Tracks your balance inside Stripe before payouts are sent.
- You can choose to use one holding account for all Stripe accounts or assign a separate holding account for each.
- Deposit Account
- Represents the bank account where Stripe actually deposits your payouts.
- In Acodei, you simply map the deposit account to the corresponding QuickBooks bank account so reporting matches your actual deposits.
- If all Stripe accounts deposit into the same bank account, you can map them to the same QuickBooks account.
- If they deposit into different bank accounts, assign separate deposit accounts in Acodei to reflect that.
## Setting Up Multiple Holding/Deposit Accounts
By default, all connected Stripe accounts in Acodei share the same holding account and deposit account. If you’d like to track each Stripe account separately, you can enable multiple accounts:
1. Enable Multiple Accounts
- Go to the Account Mapping page.
- Turn on the option for Multiple Holding/Deposit Accounts.
2. Assign Deposit Accounts
- For each Stripe account, select the QuickBooks bank account that matches the bank where Stripe deposits payouts.
- If all Stripe accounts deposit into the same bank, you can map them to the same deposit account.
- If they deposit into different banks, assign a separate deposit account for each.
3. Assign Holding Accounts
- For each Stripe account, choose a holding account to track Stripe balances before payout.
- If you are using multiple holding accounts, they must both be Other Current Asset type accounts (cannot use Undeposited Funds).
4. Save Your Changes
- After assigning the appropriate holding and deposit accounts, click Save.
- Acodei will use these mappings going forward to ensure your payouts and balances are recorded correctly in QuickBooks.
---
## Multiple Product Mapping
- Multiple Product Mapping is set up per Stripe account.
- This means you can configure unique product mappings for each account.
- Example: Stripe Account A maps Shipping to “Shipping Expense (5001),” while Stripe Account B maps Shipping to “Shipping Expense (6001).”
## Best Practices
- Match to Real Accounts: Always map your Acodei deposit accounts to the same QuickBooks bank accounts where Stripe deposits the money.
- Enable Separate Accounts if Needed: If each Stripe account pays out to a different bank, enable separate deposit accounts in Acodei to keep things aligned.
- Use Clear Labels: Name accounts descriptively (e.g., Stripe – US Holding, Stripe – EU Deposit) so it’s easy to see where transactions are going.
- Confirm With Your Accountant: They can advise whether shared or separate holding/deposit accounts work best for your reporting needs.
---
# Currency Conversion and Multicurrency
# Multicurrency
---
Acodei helps you keep Stripe and QuickBooks Online (QuickBooks) in sync when you sell in multiple currencies. This guide explains how multicurrency works, what Acodei adds, and how to set everything up.
## 1. Why you might need multicurrency
- Stripe
- Stripe can accept payments in many currencies.
- If your Stripe account holds multiple currency balances (e.g., USD & CAD), charges in each currency go into the matching balance.
- If you only have one balance (say USD), Stripe converts all non-USD payments into USD automatically.
- QuickBooks Online
- Every QuickBooks company has a home currency for reporting.
- You can assign other currencies to specific customers, vendors, or bank/credit-card accounts.
- Once turned on, QuickBooks multicurrency cannot be turned off.
---
## 2. What Acodei can do for you
| Feature | What it does | When to use it |
| Multicurrency Support (basic) | - Creates separate QuickBooks customer records for each currency a buyer uses (e.g., “Acme” in USD and “Acme – CAD” in CAD).- Populates QuickBooks’s “Exchange Rate” field with Stripe’s actual rate at payment time (or QuickBooks’s daily rate if Stripe doesn’t provide one). | Use this if you just need foreign-currency sales to post correctly and want accurate rates—without invoice-level logic. |
| Invoice Multicurrency (advanced) | - Creates QuickBooks invoices in the same currency as the Stripe invoice.- Applies the correct exchange rate later at payment, refund, or payout time.- Ensures invoice-level accuracy. | Use this if you issue invoices in non-home currencies (e.g., CAD invoices while your QuickBooks home currency is USD). |
---
## Important Limitation: Undeposited Funds
Do not use “Undeposited Funds” as your holding account in QuickBooks. If you do, Acodei’s multicurrency features will not work properly.
- Invoices may need to be resynced in the final settlement currency.
- Duplicate customer records can appear.
- Exchange rates may not calculate correctly.
Always use a non-Undeposited Funds clearing (asset) account instead.
---
## 3. What Acodei doesn’t do (yet)
- Zero-decimal currencies (e.g., JPY) are not currently supported.
- Stripe does not provide an exchange rate when an invoice is created; Acodei applies the rate later when the payment posts (from Stripe if available, otherwise QuickBooks).
---
## 4. Setup checklist
1. Turn on QuickBooks multicurrency and choose your home currency (permanent).
2. In Stripe, hold balances for the currencies you want—or rely on Stripe to auto-convert.
3. In QuickBooks, create matching bank accounts and clearing (holding) accounts for each payout currency.
- Be sure these are non-Undeposited Funds accounts.
4. Ask Acodei Support to enable:
- Multicurrency Support (required), and
- Invoice Multicurrency (optional, only if you need invoice-level handling).
5. Run a small test charge/refund in each currency to confirm syncing works as expected.
---
## 5. Frequently asked questions
| Question | Answer |
| Will I see duplicate customer names in QuickBooks? | Yes. If the same customer pays in USD and CAD, QuickBooks requires separate records (“Acme” and “Acme – CAD”). |
| Where do exchange rates come from? | From Stripe at payment time when available; otherwise QuickBooks’s daily rates. |
| Do I need multiple Stripe accounts? | No. One Stripe account with multiple balances works fine. Each balance typically needs its own bank account in QuickBooks for payouts. |
| Can I turn multicurrency off later? | You can disable Acodei’s multicurrency features, but QuickBooks multicurrency cannot be turned off once enabled. |
---
## 6. Key takeaways
- Always enable QuickBooks multicurrency first.
- Turn on Acodei Multicurrency Support to:
1. Create per-currency customer records automatically.
2. Record real exchange rates on every sales receipt.
- Add Invoice Multicurrency if you issue invoices in foreign currencies and need invoice-level accuracy.
- Expect duplicate customer records when buyers pay in multiple currencies.
- Always use a non-Undeposited Funds holding account.
- Zero-decimal currencies (like JPY) are not yet supported.
---
# Pull Historic Data
In Acodei, you can retrieve historical data from your account. Before proceeding, please ensure your data looks good in QuickBooks.
To pull historical data, you can take the following steps:
1. Navigate to the Acodei Dashboard.
1. Click on “Historic Data” on the left side.
1. Click the "Pull Historic Data" button in the upper right corner.
1. Select a month or range of months for historical data. After selecting, you'll see the total volume of transactions and the cost for that specific time frame. Please refer to our detailed pricing page for a breakdown of how we charge for historical data.
1. Approve the price to start pulling the data. If you don’t want to proceed, click Back—you won’t be charged.
- Currently, our system does not support selecting data for individual days in the past.
- You will not be charged for data that has already been synced. For instance, if you signed up in October and request data for October, there is no additional charge.
- You cannot request data for the same month more than once. If you need to re-import data, contact us for assistance.
---
# Discount/Coupon Tracking
# Discount/Coupon Tracking
We can help you track discounts and coupons in QuickBooks by mapping the discount amounts from Stripe directly to a QuickBooks product of your choice.
---
## How It Works
When a customer uses a coupon or discount code in Stripe, the discount amount is recorded.
We map that discount to a single QuickBooks product that represents where you want to track these amounts.
This ensures your discounts are accounted for consistently and don’t get lost in your reporting.
> Note: Discounts and coupons can only be mapped to one QuickBooks product.
---
## Setup
During onboarding, Acodei will automatically detect if your Stripe account includes discounts or coupons. If detected, you’ll be prompted to map them to a QuickBooks account as part of the onboarding flow.
If you didn’t complete this mapping during onboarding or want to change it later, you can do so anytime on the Account Mapping page of the app.
- Open the Account Mapping page.
- Look for the Discount/Coupon Mapping option in the right-hand side menu.
- If it isn’t visible, click the Customize button in the top-right corner of the Account Mapping screen to enable it.
---
## Behind the Scenes
Once your mapping is set, any discounts or coupons applied in Stripe will automatically sync to the designated QuickBooks product.
---
## Example
A customer’s order totals $100. They use a 10% coupon ($10 off).
That $10 discount is recorded in QuickBooks against the product you’ve specified (e.g., “Discounts Given”).
---
# Shipping Cost Tracking
# Shipping Cost Tracking
We can help you track shipping expenses in QuickBooks by mapping the shipping cost from Stripe directly to a QuickBooks product of your choice.
## How It Works
- When a customer pays for shipping through Stripe, the shipping amount is recorded.
- We map that shipping cost to a QuickBooks product that represents where you want to track this expense.
- This ensures your shipping costs flow into your accounting system consistently and accurately.
## What You Need to Do
To get started, please email our support team with the following information:
1. The QuickBooks product you would like us to map your shipping costs to.
1. Confirmation that you would like this feature enabled for your account.
## Behind the Scenes
- Once we receive your request, our team will enable the feature on the backend.
- Going forward, shipping costs listed in Stripe will automatically sync to the designated QuickBooks product.
## Example
- Stripe charges $10 for shipping.
- That $10 is recorded in QuickBooks against the product you’ve specified (e.g., “Shipping Expense”).
---
# Stripe Capital
Stripe Capital is a financial service offered by Stripe. It provides business loans based on transaction history, with repayment automated through a percentage of future sales. It helps businesses access capital quickly and supports their growth by leveraging sales data. Acodei supports Stripe Capital.
On this page, we provide the steps to add Stripe Capital to Acodei.
1. Create a product for Stripe Capital: First, you must create a product (for use in payouts and daily balance summaries). You will likely link this product to a liability account.
1. Add the product to Balance Transaction Mapping: Once we detect Stripe Capital or any other uncommon transaction type on your account, you will be able to map Financing (Stripe Capital), as presented in the following image. This page is accessed on the Account Mapping Page under Balance Transaction Mapping (if this isn’t showing, click on Customize in the top right and toggle Balance Transaction Mapping on).
3) Save your changes: Save your changes, and Acodei will then process financing transactions on the daily balance summary or upon payout based on your preferences. Check your liability account to ensure the balance is changing correctly.
## Stripe Capital Accounting Adjustments[](https://docs.acodei.com/docs/stripe-capital/#stripe-capital-accounting-adjustments)
Stripe Capital does not provide Acodei with detailed data about what part of the payment is going toward your principal payment vs your fixed fee. As a result, you should add a monthly, quarterly, or annual adjustment to account for Stripe Capital fees.
Since Stripe Capital feeds data into a Liability account, you will want to create a journal entry. Debit your liability account and credit your expense (interest or fee expense) account for the amount of the fee. If we start receiving fee and principal data, we will make a future update to this feature.
## Fixing an unsynced payout[](https://docs.acodei.com/docs/stripe-capital/#fixing-an-unsynced-payout)
Once you have followed the steps above, you can visit the Payouts tab in the Data Feed. If a payout is not synced because of a Stripe Capital error, you can resync the Deposit.
---
# Stripe Climate
Stripe Climate is a program by Stripe that enables businesses to combat climate change by investing in renewable energy projects and offsetting their carbon emissions. It allows companies to calculate their carbon footprint and support initiatives that reduce greenhouse gas emissions. Stripe Climate helps businesses take action against climate change by funding projects that lower their environmental impact. Acodei supports Stripe Climate.
This page provides the steps to add Stripe Climate to Acodei.
1. Create a product for Stripe Climate: First, you must create a product (for use in invoices and sales receipts). You will likely want to link this product to an expense account.
1. Add the product to Balance Transaction Mapping: Once we detect Stripe Climate or any other uncommon transaction type on your account, you will be able to map Contribution (Stripe Climate), as presented in the following image. This page is accessed on the Account Mapping Page under Balance Transaction Mapping (if this isn’t showing, click on Customize in the top right and toggle Balance Transaction Mapping on).
Save your changes: Save your changes, and Acodei will then process climate transactions based on your preferences on the daily balance summary or upon payout. Check your liability account to ensure the balance is changing correctly.
## Fixing an unsynced payout[](https://docs.acodei.com/docs/stripe-climate/#fixing-an-unsynced-payout)
Once you have followed the steps above, you can visit the Payouts tab in the Data Feed. If a payout is not synced because of a Stripe Climate error, you can resync the Deposit.
---
# Stripe Connect
Stripe Connect is a platform by Stripe that facilitates payment flows between multiple parties, such as marketplaces and platforms. It enables businesses to set up and automate complex payment systems, manage transfers, and handle payouts to different recipients.
Practically speaking, most Acodei users utilize Stripe Connect to accept money and pay out contractors or service providers. Users who pay contractors through Stripe will see outbound transfers and payouts on their transaction lists.
Acodei generally sends balance transaction information such as Stripe Connect on a [Daily Balance Summary](https://docs.acodei.com/docs/timing-of-balance-transactions/).
Please note that Acodei only sends aggregated transfer information. In other words, you will not be able to see in QuickBooks which contractors received specific transfers. You will only see the aggregated amount. We have completed custom integrations around this in the past, but don't have general functionality for it. If you need to see individual transfers, please let us know.
## Setting up Stripe Connect on Acodei
1. Create a product for Stripe Connect: First, you must create a product (for use in payouts and daily balance summaries). You will likely link this product to an expense or COGS account to track outbound transfers.
2. Add the product to Balance Transaction Mapping: Once we detect Stripe Connect or any other uncommon transaction type on your account, you will be able to map Transfer (Stripe Connect), as presented in the following image. This page is accessed on the Account Mapping Page under Balance Transaction Mapping (if this isn’t showing, click on Customize in the top right and toggle Balance Transaction Mapping on).
3. Save your changes: Save your changes, and Acodei will then process connect transactions on the daily balance summary or upon payout based on your preferences. Check your liability account to ensure the balance is changing correctly.
## Fixing an unsynced payout
Once you have followed the steps above, you can visit the Payouts tab in the Data Feed. If a payout is not synced because of a Stripe Connect error, you can resync the Deposit.
---
# Reserved Funds
Reserved Funds are a Stripe balance transaction type. Although technically the money belongs to you, Stripe holds it in reserve in the case of large refunds or disputes.
Read more about Reserved Funds (or Reserves) [here](https://support.stripe.com/questions/reserves-frequently-asked-questions).
If you have Reserved Funds being held by Stripe, you need to account for this balance in QuickBooks as it impacts your balance sheet and can also impact payouts. To track your reserved funds in Acodei, create an asset account and a product associated with it. Then, map this product on the Uncommon Transactions module within the Acodei account mapping.
Once you have the product mapping set up for Reserved Funds, you should be able to see at a glance how much Stripe is withholding from you at any given time, and you can reconcile this account with what you see in Stripe.
---
# Adjustments and Disputes
In Stripe, Adjustments are a type of balance transaction. Typically, adjustments are Disputes, also known as Chargebacks.
You can read more about what Adjustments contain [here](https://docs.stripe.com/reports/balance-transaction-types#balance_related).
With Acodei, you can opt to track your disputes as part of your Refunds account, or you can set up a separate expense account to track Dispute activity. However you want to map disputes into QuickBooks, you will do so by visiting the Uncommon Transactions module on the Account Mapping page, and adding a product for Adjustments.
---
# Timing of Balance Transactions
No matter the type of balance transaction (see [here](https://docs.stripe.com/reports/balance-transaction-types)), including Capital, Connect, Climate, Reserved Funds, and Adjustments (Disputes), as well as other types such as application fees, top-ups, payout failures, and balance transfers, these transactions will be processed in one of two methods.
These transactions can be set up using the Uncommon Transaction Types button under your holding account on the Account Mapping page.
| If using Undeposited Funds | If using another Asset holding account |
|---|
| Real-time Sync | Balance transactions will be processed with payouts and appear on the QuickBooks bank deposit. | A Daily Balance summary is created which contains the balance activity for all transaction types |
| Daily Summary | Balance transactions will be included in the daily sales or refund receipt that is aggregated into the payout. | The balance activity and transactions will be included in the daily summary for any given day. |
---
# Acodei Detailed Pricing
> Quick Access to Pricing: Visit [Acodei Pricing](https://www.acodei.com/pricing) or create a free account and navigate to Company Management → Billing.
- Per-Company Billing:
Each QuickBooks company you connect is billed independently.
- Accounting Firms:
Eligible for exclusive discounts. Contact [support@acodei.com](mailto:support@acodei.com) to inquire.
---
## Pricing Plans
| Plan | Monthly Limit | Monthly Price | Annual Price |
|---|
| Scale100 | 100 transactions | $12 | $120 |
| Scale250 | 250 transactions | $20 | $200 |
| Scale500 | 500 transactions | $30 | $300 |
| Scale1K | 1,000 transactions | $50 | $500 |
| Scale2.5K | 2,500 transactions | $75 | $750 |
| Scale5K | 5,000 transactions | $100 | $1,000 |
| Enterprise10K | 10,000 transactions | $150 | $1,500 |
| Enterprise25K | 25,000 transactions | $200 | $2,000 |
| Enterprise50K | 50,000 transactions | $300 | $3,000 |
| Enterprise100K | 100,000 transactions | $500 | $5,000 |
| Enterprise250K | 250,000 transactions | $1,000 | $10,000 |
Annual plans include one year of historical-data credits equal to your monthly limit x 12
---
## Features by Plan
### Scale Plans
All Free features, plus:
- Additional transaction types: invoices and payment receipts
- Real-time or daily summary sync
- Advanced data mapping (products, fees, taxes)
- Extended Stripe features (Capital, Connect, Tax, multicurrency, shipping, coupons, etc.)
- Support: Email & Zoom within 24 hours
- Unlimited users and Stripe accounts
- Annual plans include historical-data credits
### Enterprise Plans
All Scale features, plus:
- Custom feature buildout (per your specific plan)
- Proactive account-health monitoring
- Priority same-day support (email, Zoom, Slack)
- Advanced help for complex integrations or multi-company setups
---
## Historical Data Pricing
| Transactions per Month | Cost |
|---|
| 0 – 30 | $0.40 each |
| 31 – 100 | $12 flat |
| 101 – 250 | $18 flat |
| 251 – 500 | $18 + $0.045 per tx over 250 |
| 501 – 1,000 | $18 + $0.035 per tx over 500 |
| 1,001 – 2,500 | $18 + $0.025 per tx over 1,000 |
| 2,501 – 5,000 | $18 + $0.015 per tx over 2,500 |
| 5,001 – 10,000 | $18 + $0.0055 per tx over 5,000 |
| 10,001 + | $18 + $0.00255 per tx over 10,000 |
Tip: Check Payments → Transactions in Stripe for any historic month, note the count, and apply the table above.
---
## Transaction Limit Handling
1. Notification – We email you as soon as you reach your plan’s monthly limit.
1. 3-Day Grace Period – Upgrade within 3 days and all pending transactions sync automatically.
1. No Action – After 3 days your account reverts to Free and syncing pauses.
1. Catching Up – Purchase historical data to sync transactions missed during the pause.
1. Monthly Reset – Limits reset on the 1st of each month.
---
## Need Help?
Email [support@acodei.com](mailto:support@acodei.com) or schedule a call from your Acodei dashboard—our team is here to help!
---
# How Acodei Defines a Transaction
Acodei counts the following as transactions:
Each Stripe sale, refund, payout, invoice, and payment on an invoice counts as one transaction each.
If you have an "uncommon mapping type" such as disputes, Stripe Capital financing, Stripe Connect transfers, etc., you may receive up to one additional balance transaction daily for accounts using an assets account other than Undeposited Funds for their holding account.
Failed or incomplete sales in Stripe do not count as transactions.
---
# Bulk Resync Fees
Sometimes, you may need to resync a large volume of transactions. Here’s how we handle and charge for bulk resyncs.
## When Charges Apply
Charges for bulk resyncs apply if:
1. The resync request involves more than 100 transactions.
1. The need for a resync is not due to an Acodei error. If the resync is due to our fault, it will be free of charge.
## Pricing Structure
Our pricing for bulk resyncs is tiered based on the number of transactions:
101 - 500 Transactions: $25 501 - 2,500 Transactions: $50 2,501 - 5,000 Transactions: $100 5,001 - 10,000 Transactions: $150 Over 10,000: Quoted based on volume
---
# Accounting Support
Acodei is intended to be a self-service app. We do our best to make the app simplistic and accessible. However, we understand that some situations may require additional accounting help beyond the scope of what we generally provide via our customer service channels.
We charge $150/hr for accounting support.
## Services Covered
- Setup for Unique Situations
- Reconciliations of balances, banks, and revenue or holding accounts
- Bookkeeping Support
- We are not a bookkeeping firm, but we can help in the short term, particularly in the context of our app
- Tax Preparation and Filing Support
- We are not a CPA firm, but we can help you prepare tax-ready P/L statements and balance sheets in the context of our app
- External Accountant Support
- If you are a business owner working with an external accountant who needs support beyond our typical customer service offerings, we require that you pay accounting support fees.
---
# How to Cancel your Acodei Subscription
If you no longer want to use Acodei Sync and would like to cancel your subscription, simply disconnect your QuickBooks company from our app. You can take this action using the methods described below.
## Cancel on the Acodei app
To cancel your account from the Acodei app:
1. Log in at [https://app.acodei.com/](https://app.acodei.com/) and visit the Connections tab.
1. From there, click "Disconnect" for the QuickBooks company, as presented below:
3. Confirm the disconnection and terms on the dialog. This will cancel your service, and you will no longer be billed.
## Cancel on QuickBooks Online
To cancel your account from QuickBooks Online:
1. Log in to your QuickBooks account and go to Apps > My Apps.
1. Use the dialog on the Acodei app to disconnect. This will disconnect your company from our app, cancel your service, and you will no longer be billed.
---
# Acodei Refund Policy
Acodei is a business-to-business (B2B) software service. Every new account includes a 14-day free trial so you can fully test the platform before any payment is collected.
Once a paid subscription begins, refunds are only available in very limited circumstances.
---
## 1. Free Trial Period
All new subscriptions begin with a 14-day free trial.
During the trial, you may cancel at any time and you will not be charged.
We also send a reminder email before the trial ends. If the subscription is not canceled before the trial expires, it will automatically renew and the payment method on file will be charged.
---
## 2. When Refunds Are Available
Refunds are issued only for billing-related errors, such as:
- Duplicate charges
- Incorrect charge amount
- Charges processed after a confirmed cancellation or disconnection
To qualify, you must contact us within 7 days of the charge.
If approved, the refund will be issued back to the original payment method.
We maintain billing and account records to verify subscription activity and renewal authorization.
---
## 3. When Refunds Are Not Available
We do not offer refunds for:
- Subscription renewals after the free trial ends
- Accounts that were not canceled before renewal
- Dissatisfaction with product fit after purchase
- Lack of use after renewal
- Annual plans once the trial period has completed
- Historical data syncs or credits that have already been delivered
All subscriptions are the customer’s responsibility to cancel prior to renewal.
---
## 4. Mid-Cycle Cancellations
If you cancel your subscription during an active billing period, your access will continue through the end of that billing period.
We do not provide partial refunds or prorated credits for unused time.
---
## 5. How to Request Help
If you believe you were charged in error, contact us at:
[support@acodei.com](mailto:support@acodei.com)
Please include:
- The invoice or charge ID
- A brief explanation of the billing issue
We review requests within 3 business days.
---
Last updated: February 2026
---
# Data Privacy after Disconnection
When your QuickBooks is disconnected from Acodei, we take the following actions to ensure Data Privacy and Security:
1. The connection between Acodei and any other payment providers is also deleted.
1. The data associated with your company, such as transaction IDs connecting Stripe and QuickBooks, is entirely deleted from our internal servers 30 days after disconnection.
1. All subscription and billing information is deleted immediately.
- If you reconnect a disconnected account at any time, you will need to re-input your billing information.
- If you reconnect within 30 days, we will retain all data on your Acodei Data Feed.
- If you reconnect after 30 days, you will be starting from the beginning again.
---
# Thinkific
Acodei automates the transfer of financial data from Thinkific to QuickBooks. Sales, refunds, fees, and payouts sync automatically to eliminate the need for manual data entry, saving time and ensuring accurate accounting.
## Scope of the Integration
All transactions from the Thinkific-QuickBooks integration sync in real time. Our service covers the following aspects of Thinkific Payments data:
| Thinkific Action | Integration Action |
|---|
| Sale | Sales made in Thinkific are reflected in QuickBooks using Sales Receipts. |
| Refund | Refunds made in Thinkific are reflected in QuickBooks using Refund Receipts. |
| Payout | Depending on your settings, Thinkific payouts are synced into QuickBooks using Bank Deposits or Transfers. |
| Fee | Depending on your settings, Thinkific processing fees are recorded in QuickBooks using Sales Receipts or Expenses. |
| Tax | Thinkific remits tax on your behalf. Tax can be included with other Thinkfiic fees or as a standalone expense. |
In the Thinkific-QuickBooks app settings, you can customize customer data according to your preferences. You can import customer name, email, and billing details, choose some portion of that data, or sync a default customer name like Thinkific Customer. Customer names are synced to QuickBooks in the Display Name field and are matched by existing customer names.
### Holding Accounts
By default, Acodei creates a holding account for you. This holding account tracks your Thinkific Payments Balance in QuickBooks. In the default setup, transfers (from holding to checking accounts) are created in QuickBooks to represent the payout. If you prefer a bank deposit containing all your sales and refunds, please change your holding account to an Undeposited Funds asset type.
### Products and Accounts
Products in QuickBooks refer to a business's individual items or services. In the context of Thinkific, these are courses or other products a merchant sells. Account in QuickBooks refers to a financial account used in bookkeeping that is more general than a Product. For example, multiple products could feed into the “Sales” income account, which is represented on your Profit/Loss Statement.
During onboarding, you will be asked to select a general account, such as Sales, to accept revenue. Then, Acodei will automatically create a corresponding product. Later, you can see the products and accounts on the account configuration page. You can also manually create a product in QuickBooks and map it to an account for Sales, Refunds, or Fees.
### Multiple Product Mapping
You will need to follow several steps to map your Thinkific courses to different accounts on your chart of accounts in QuickBooks.
First, make sure your products are [created](/docs/create-a-product-in-quickbooks) and organized in QuickBooks Online. Products created in QuickBooks should be mapped to the desired income account.
Next, within the Thinkific-QuickBooks app, enable Multiple Product Mapping.
Acodei pre-populates the mapping screen based on your most recent transactions.
To map more products, follow these steps to retrieve the course code from Thinkific:
1. Go to your Courses in Thinkific
1. Click on the Course you'd like to map
1. Visit the "Pricing" tab within the course
1. Find the "Copy Link" button
1. The Thinkific Product ID is the first listed ID as shown in this example:
The link for this price is [https://jeff-s-site-a65e.thinkific.com/enroll/2479638?price\_id=3276208](https://jeff-s-site-a65e.thinkific.com/enroll/2479638?price_id=3276208), and 2479638 is the Thinkific Product ID to use on the Acodei mapping page.
6. Return to the Multiple Product Mapping page and click "Add New". Note that the mapping is completed based on the Product ID, not the Product Name, so typos are not important in the name field.
6. Ensure [products are created](/docs/create-a-product-in-quickbooks) in QuickBooks to map your Thinkific product.
If you have questions about the Thinkific-QuickBooks integration or need specialized support, please contact us directly at [support@acodei.com](mailto:support@acodei.com).
---
# Kajabi
Acodei automates the transfer of financial data from Kajabi to QuickBooks. Sales, refunds, fees, and payouts sync automatically to eliminate the need for manual data entry, saving time and ensuring accurate accounting.
## Scope of the Integration
All transactions from the Kajabi-QuickBooks integration sync in real time. Our service covers the following aspects of Kajabi Payments data:
| Kajabi Action | Integration Action |
|---|
| Sale | Sales made in Kajabi are reflected in QuickBooks using Sales Receipts. |
| Refund | Refunds made in Kajabi are reflected in QuickBooks using Refund Receipts. |
| Payout | Depending on your settings, Kajabi payouts are synced into QuickBooks using Bank Deposits or Transfers. |
| Fee | Depending on your settings, Kajabi processing fees are recorded in QuickBooks using Sales Receipts or Expenses. |
| Tax | Kajabi remits tax on your behalf. Tax can be included with other Kajabi fees or as a standalone expense. |
In the Kajabi-QuickBooks app settings, you can customize customer data according to your preferences. You can import customer name, email, and billing details, choose some portion of that data, or sync a default customer name like Kajabi Customer. Customer names are synced to QuickBooks in the Display Name field and are matched by existing customer names.
## Holding Accounts
By default, Acodei creates a holding account for you. This holding account tracks your Kajabi Payments Balance in QuickBooks. In the default setup, transfers (from holding to checking accounts) are created in QuickBooks to represent the payout. If you prefer a bank deposit containing all your sales and refunds, please change your holding account to an Undeposited Funds asset type.
## Products and Accounts
Products in QuickBooks refer to a business's individual items or services. In the context of Kajabi, these are courses or other products a merchant sells. Account in QuickBooks refers to a financial account used in bookkeeping that is more general than a Product. For example, multiple products could feed into the “Sales” income account, which is represented on your Profit/Loss Statement.
During onboarding, you will be asked to select a general account, such as Sales, to accept revenue. Then, Acodei will automatically create a corresponding product. Later, you can see the products and accounts on the account configuration page. You can also manually create a product in QuickBooks and map it to an account for Sales, Refunds, or Fees.
## Multiple Product Mapping
To map multiple Kajabi products to different accounts in QuickBooks, you need to be on a paid account, then visit the Multiple Product Mapping section within your Kajabi QuickBooks integration:
Once inside the mapping module, you need to pull the Kajabi Offer ID from the URL of the associated course. For example, this course contains two offers that typically have different prices:
One of those offers is https\://app.kajabi.com/admin/offers/2148964595/edit. On your mapping page in Acodei, use 2148964595 as the offer ID. The offer name does not matter for mapping purposes but is strictly used as a reference point. Upon initial app connection, Acodei automatically pulls in offer IDs and names for your most recent 10 transactions.
You will also need to ensure that the corresponding QuickBooks products exist and are mapped to the account of your choice from your Chart of Accounts. From there, you can save and resync any historical transactions, and you should see the correct mapping.
Invoice Syncing: Since Kajabi does not utilize or necessitate invoices, there is no requirement to monitor invoices and payments. Instead, all sales are recorded using sales receipts.
If you have questions about the Kajabi-QuickBooks integration or need specialized support, please contact us directly at [support@acodei.com](mailto:support@acodei.com).
---
# Onespot
Acodei automates the transfer of financial data from Onespot to QuickBooks. Sales, refunds, fees, and payouts sync automatically, eliminating the need for manual data entry and saving time while ensuring accurate accounting.
## Scope of the Integration
All transactions from the Onespot-QuickBooks integration sync in real time. Our service covers the following aspects of your Onespot Payments data:
| Onespot Action | Integration Action |
|---|
| Sale | Sales made in Onespot are reflected in QuickBooks using Sales Receipts. |
| Refund | Refunds made in Onespot are reflected in QuickBooks using Refund Receipts. |
| Payout | Depending on your settings, Onespot payouts are synced into QuickBooks using Bank Deposits or Transfers. |
| Fee | Depending on your settings, Onespot processing fees are recorded in QuickBooks using Sales Receipts or Expenses. |
| Invoice | When enabled, invoices created in Onespot sync to QuickBooks, and payments are matched to the corresponding invoice as they are received. |
In the Onespot-QuickBooks app settings, you can customize customer data according to your preferences. You can import customer names, emails, and billing details, select a portion of that data, or sync a default customer name, such as Onespot Customer. Customer names are synced to QuickBooks in the Display Name field and are matched against existing customer names.
## Holding Accounts
By default, Acodei creates a holding account for you. This holding account reflects your current Onespot Payments balance in QuickBooks. In the default setup, transfers (from the holding account to your checking account) are created in QuickBooks to represent each payout.
In order to get your Payments balance to reconcile on a monthly basis, you need to make sure the beginning balance matches between Onespot (Stripe) and QuickBooks. For example, if you are starting your balance tracking on January 1, you can go to [https://dashboard.stripe.com/reports/balance](https://dashboard.stripe.com/reports/balance), check your January 1 beginning balance, and ensure that is also the beginning balance in the Onespot payments balance account in QuickBooks.
If you prefer a single bank deposit that combines all your sales and refunds, change your holding account to an Undeposited Funds asset type.
## Products and Accounts
Products in QuickBooks refer to the individual items or services a business sells. In the context of Onespot, these are the tuition charges, fees, or other items a school collects payment for. An Account in QuickBooks refers to a financial account used in bookkeeping that is more general than a Product. For example, several products can feed into a single income account such as Tuition or Sales, which appears on your Profit and Loss statement.
During onboarding, you will be asked to select a general sales account, such as Tuition or Sales, to receive your revenue. Acodei then automatically creates a corresponding product. You can review these products and accounts later on the account configuration page, and you can manually create a product in QuickBooks and map it to an account for Sales, Refunds, or Fees.
The ultimate goal is to have a product -> account mapping for your default sales, refund, and fee products. These also serve as fallback accounts if the Multiple Product Mapping does not match.
## Multiple Product Mapping
To map multiple Onespot products to different accounts in QuickBooks, open the Multiple Product Mapping section within your Onespot QuickBooks integration.
For example, if you have three items on an invoice and want all three to go to different QuickBooks accounts, create QuickBooks products mapped to those accounts, then use the Multiple Product Mapping screen to configure the mappings from OneSpot to those QuickBooks products.
Inside the mapping module, you map each Onespot item to the QuickBooks product and income account of your choice from your Chart of Accounts. You can map from a Stripe product or by a description (text-based matching). Before saving, make sure the matching QuickBooks products already exist and are mapped to the right account. Once saved, you can resync historical transactions and confirm the mapping is correct.
This is useful for schools that want, for example, tuition, registration fees, and supply fees recorded in separate income accounts rather than lumped into a single revenue line.
## Invoice Sync
Acodei offers one-way invoice syncing for schools that create invoices in Onespot while tracking accounts receivable and outstanding balances in QuickBooks. When this is enabled, invoices created in Onespot sync to QuickBooks, and payments are matched to the corresponding invoice as they are received.
If you do not enable Invoice Sync, you will only see payments sync to QuickBooks as Sales Receipts.
Invoice Sync is supported on all OneSpot accounts.
> Not Currently Included
>
> Manual and offline payments: The integration currently syncs Stripe-based Onespot payments only. Payments recorded outside of Stripe, such as checks or cash, are not yet included in the sync. However, future updates should support offline payments.
## Support
For accounting-specific or integration-specific questions, you can also email Acodei directly at [support@acodei.com](mailto:support@acodei.com). If you would like to have an onboarding or support call via video, please email us.
You can also contact the Onespot team at [contact@onespotapps.com](mailto:contact@onespotapps.com).
---
# How to Change or Transfer App Admin
The admin is key for managing setup, connections, handling billing, adding users, and receiving all email communications from Acodei, so it’s essential to keep the admin role current.
If you need to take over an Acodei account set up by someone else, you must contact Acodei directly for approval and assistance with the transfer.
## Preliminary steps
Transferring the ownership of an account to a new email address involves a preliminary step of registering the new email with our system.
Follow the steps below to Transfer Account Ownership:
1. Go to [https://app.acodei.com/](https://app.acodei.com/).
1. Follow the on-screen instructions to set up a password linked to the new email address.
1. After completing the registration, please get in touch with our support team to let us know that you have finished setting up the new account. Please provide us with your new email address so we can transfer ownership of your account.
1. Once we receive your message and the new email address, we will promptly transfer account ownership to the new administrator's email.
---
# How to Add Authorized Users
Our paid plans offer the flexibility of an unlimited number of authorized users.
## Adding an Authorized User
To add an authorized user to your account, follow these steps:
1. Log into Acodei and click on the gear icon in the top right corner.
1. Click on User Management.
1. Click on the "Add New User" button to initiate the process.
1. Enter the email address of the authorized user you wish to add and hit “Invite.”
Once you've entered the email address, an invitation will be sent to the authorized user to set up an account with Acodei.
## Deactivating Authorized Users
You can also deactivate authorized users from the same page at any time. Navigate to User Management (click on the gear icon in the top right corner), locate the authorized user you wish to deactivate, click on the three dots options, and select delete user.
If you want to transfer Admin-level privileges to another user, please visit our article on How to Change or Transfer App Admin.
---
# Connecting a Deposit Account
## Connecting Your Deposit Account
To ensure seamless processing of your payouts, connecting the appropriate deposit account on your Acodei Dashboard is crucial.
To select your Deposit Account:
1. Navigate to the Account Mapping module within Acodei.
1. Select the appropriate account in the Deposit and Holding accounts section, typically a checking account where Stripe deposits your payouts.
## Updating Your Payout Account
If the account receiving your Stripe Payouts changes, it's essential to update your Deposit Account on the Account Mapping module promptly. In this regard, two cases may occur:
- Immediate Change: If your payout account changes, update your Deposit Account on the Account Mapping module to reflect the new account.
- Resync Payouts: If some time has elapsed since the change or payouts have occurred, update your Deposit Account on the Account Mapping module. Then, resync the relevant Stripe payouts on the Data Feed tab to ensure accuracy.
---
# Mismatch Caused by Missing Data
One prevalent issue encountered in payout processing stems from missing data. Payouts encompass transactions from various dates; for instance, a payout dated January 10th may include transactions spanning January 6th to January 8th. Consequently, if you begin using Acodei on January 9th, a mismatch may occur due to the absence of data for the January 10th payout. Acodei doesn't automatically retrieve data for all dates within a payout.
This mismatching error is indicated within the data by the following message: "This would create a mismatch in QuickBooks due to the missing data."
To resolve this issue, you can order historical data for a particular month through the Acodei Data Feed by clicking the Pull Historic Data button on the upper right.
If you only want to sync a few specific payouts and have a paid plan, message us through your account, and we'll sync any unsynced payouts with this error for free.
Payouts always include data from a previous time period, so it's common to have unsynced payouts with this error. For example, a payout from January 1st might include data from late December. If you're not sure how to handle a payout from the current year that includes data from the previous year, it's best to talk to a CPA. One way to avoid this issue is to use a different account to hold your transaction data instead of an Undeposited Fund.
---
# Transaction Applied to Other Deposit
An issue that users sometimes face involves mistakenly matching a sales receipt in the QuickBooks bank feed, which then interferes with Acodei's ability to generate the necessary bank deposit for a given payout.
The problem manifests with the following alert: "Transaction has already been applied to another Deposit."
## Avoiding this Error
Match bank feed deposits to the corresponding payouts rather than sales receipts to avoid this error. Verifying that the deposit you're aligning with relates to the specific payout in question is crucial.
## Correcting Steps
### Option 1
Should you encounter this issue, rectify it by taking the following actions:
1. Look through your categorized transactions to identify any mistakenly deposited sales receipts, and either undo these or manually create the correct deposit linked to the issue at hand. This may involve reversing several transactions in the bank feed close to the payout's date.
1. Go back to the Acodei Data Feed and try resyncing the affected payout.
1. Refresh your QuickBooks and aim to correctly match a deposit to each payout within the bank feed.
There might be instances where a payout is entirely made up of a single sales receipt without additional fees. In such cases, the error may not impact your accounting records significantly, as the deposit QuickBooks generates could be identical to what Acodei would create. However, for consistency and accuracy, it is recommended always to match deposits to payouts, not sales receipts.
### Option 2
Since the transaction causing the issue should be tied to an Acodei deposit, you need to delete the incorrect deposit. Assuming there are not many transactions in each payout, you can also try the following actions:
1. Open a payout in the Acodei Data Feed. You should see a list of sales and refunds.
1. Select all sales and refunds, then try to resync them.
1. If any sale or receipt fails to delete, it is likely tied to another deposit.
1. Copy the transaction ID from the data feed.
1. Paste the transaction ID into the magnifying glass for advanced search in QuickBooks Online.
1. When you find the transaction, look in the top left to see which deposit the transaction is tied to.
1. Click on "1 linked Deposit," then on the blue "Deposit."
8. Delete the connected deposit using the "More" button at the bottom of the deposit.
9. Resync the payout on the data feed.
## For low-volume transactions
If you don’t have many transactions, adjusting the frequency of your payouts to weekly instead of daily in the Stripe dashboard is an excellent strategy to prevent such mismatches, facilitating smoother reconciliation and accounting processes.
---
# Uncommon Transaction Mapping
Certain types of Stripe transactions necessitate additional information for proper processing. Examples include:
- Financing transactions (e.g., Stripe Capital)
- Stripe Connect transfers
- Reserved Funds
- Stripe Climate Contributions
- Disputes and other adjustments
These types of balance transactions can affect payouts and need to be explicitly mapped in Acodei.
---
## Error Message
When one of these transaction types is detected but not yet mapped, you will see the following message in the data feed:
[Balance transaction type] detected, please turn on [transaction type] in Balance Transaction Mapping.
---
## How to Resolve This Issue
1. Access Balance Transaction Mapping
- Go to the Account Mapping page.
- Open the Balance Transaction Mapping section (if you don’t see it, click Customize in the top right and toggle it on).
1. Create or Select Products
- For each balance transaction type, you must add a product.
- In some cases, you may want to create a new account in your chart of accounts and link a new product to that account.
- In other cases, you may map the transaction type to an existing product (for example, Sales, Refunds, or Contributions).
1. Save Your Changes
- After assigning products, save your changes.
- Acodei will then process these balance transactions in the daily balance summary or upon payout, depending on your settings.
---
## Fixing an Unsynced Payout
If a payout is not synced because of a balance transaction mapping error:
1. Go to the Payouts tab in the Data Feed.
1. Resync the deposit once the missing mapping has been added.
---
## Notes
- Determining which balance transaction types to map to which products is entirely up to you and your accountant.
- For more details on working with multiple products, see [Multiple Product Mapping](https://docs.acodei.com/docs/multiple-product-mapping/).
---
# Tax Applied - Product
Another frequent issue leading to unsynchronized payouts involves handling sales tax on products within QuickBooks.
While QuickBooks offers features to apply taxes to transactions, and Acodei is equipped to capture tax data from Stripe, aligning these functionalities requires some adjustments. When tax is applied, the total amount on sales receipts may exceed the payout received from Stripe.
The following message indicates this error in the data: "This deposit does not match the Stripe payout amount ... #3. You have sales tax enabled on QuickBooks".
In most situations for US-based companies, you can resolve this by taking the following actions:
1. Go to the "Products and Services" page in QuickBooks.
1. Ensure that all of the products you use for Acodei are listed as "Nontaxable" and do not have the "Taxable" check mark.
1. Return to the Acodei Data Feed, resync your sales and refunds, and then payouts. If you are on a paid plan, please message us, and we can resync in bulk on your behalf.
Acodei captures sales tax from Stripe but doesn't use QuickBooks' sales tax functionality to avoid confusion. Instead, we add sales tax as a line item on the sales receipt or the bank deposit.
For Canadian companies and other worldwide companies with required VAT and utilizing QuickBooks tax tracking status, we continue to build the functionality around tax. Please refer to the section [VAT for non-US Companies](/docs/vatgst-for-non-us-companies) for advice on this error.
---
# VAT/GST for non-US Companies
For non-US companies, VAT or GST tracking may be required in QuickBooks. Acodei automatically adds VAT / GST to your account when you sign up, but if you receive this error, please contact us. We continue to build and improve our functionality around VAT tracking for non-US companies.
The following message indicates this mismatching error in the data: "Make sure all your transactions have a VAT rate before you save."
For our paid users, we've added a feature that can be activated upon request.
As Acodei continues to refine and expand our services, your feedback remains invaluable. We encourage our global user base, especially accountants and financial professionals from outside the US, to share their experiences and insights. Your input is crucial as we strive to accommodate the diverse tax management needs of our users worldwide.
---
# Interaction with Another Integration
Though rare, we have noticed instances where certain QuickBooks Apps and integrations have altered Acodei-generated documents such as sales receipts, refund receipts, invoices, and payment receipts linked to the payout.
This mismatching error is indicated within the data by the following message: "This deposit does not match the Stripe payout amount ... #1. Another integration modified Acodei-generated transactions".
When we match sales receipts to form a deposit, any alteration to our sales receipts by another integration could change the total amount of the deposit we're trying to generate.
If you suspect another integration has affected Acodei-generated transactions, first, deactivate the other integration. Then, proceed to resynchronize the affected transactions in the Acodei Data Feed.
---
# Manual Modification of a Document
Though rare, a payout may not sync if you have manually modified one of the documents (sales receipts, refund receipts, invoice, payment receipt, etc) associated with the payout.
This mismatching error is indicated within the data by the following message: "This deposit does not match the Stripe payout amount ... #2. You manually modified an Acodei-generated transaction".s".
When Acodei matches all sales receipts to generate a deposit, any changes made to a sales receipt will alter the total deposit amount.
If you believe you have manually edited an Acodei-generated transaction, you can resynchronize the documents on the Acodei Data Feed. This action will reset the document, enabling you to sync the deposit accurately.
---
# Pending Payment or ACH
Stripe handles ACH payments differently than credit cards. With a credit card, payment succeeds or fails, and settlement into your balance happens instantaneously. Per the Stripe documentation, with ACH payment, we have to wait four days for success or failure to appear.
This mismatching error is indicated within the data by the following message: "This payout contains a pending payment. Once the payment is completed, the payout will sync. A delayed ACH payment typically causes this."
Practically speaking, from Acodei's perspective, this means that we can only sync a payout once the ACH has succeeded or failed. So, you may see a payout that has not synced as we await the ACH status.
Once we receive a webhook from Stripe about the status of the ACH contained in the payout, we will be able to sync the payout. The payout should automatically trigger to sync once we receive the notice from Stripe.
---
# Payout in Progress
Although we constantly improve our app's functionality, sometimes a payout may get stuck "In Progress." If you see this on your data feed and it stays that way for more than an hour, please message our support team so we can take a look at the error.
Typically this issue is caused by a QuickBooks API timeout, although there could be a variety of causes that we continue to identify and fix.
---
# No Deposit Account Assigned
You might encounter an issue if you've recently changed or removed the bank account where Stripe sends your payouts (usually a checking account).
You'll see a message in the Data Feed highlighting the problem: "This Stripe account does not have a deposit account assigned. Please assign one in Account Mapping."
To address this, simply follow these steps:
- Navigate to the Account Mapping section and update your Payout Deposit account information.
- Proceed to the Acodei Data Feed and initiate a resync of your payouts. This action will generate new bank deposits in QuickBooks, linked to your updated bank account.
---
# Trouble Connecting QuickBooks or Stripe
To connect a QuickBooks Online and a Stripe account to our app, you must have admin or developer-level access to both your QuickBooks and Stripe accounts.
If you need help connecting one of your accounts, please ensure you have admin access on both accounts and are logged into the right account.
---
# Reauthorize QuickBooks Account
From time to time, Acodei may experience a disconnection from QuickBooks due to its lost authorization to connect via API. This issue is not unique to Acodei and is relatively common in API-based integrations. Fortunately, rectifying this problem involves a few straightforward steps that can quickly restore the connection.
The loss of API connectivity can result from a multitude of factors. In our experience, the loss of authorization from QuickBooks is usually due to an API error on the QuickBooks side and is not preventable. However, we will continue to try to mitigate this error.
To re-initiate the connection between Acodei and your QuickBooks company, please follow the outlined instructions:
1. Sign in to your Acodei account utilizing your regular login details.
2. After logging in, navigate to the top-left corner of your dashboard, where your QuickBooks company is listed.
3. Click on the company name, then click “Add Company”. Re-add your company using your credentials.
4. Upon successfully re-adding your QuickBooks company, Acodei will automatically re-form the API link with QuickBooks. Subsequently, your data synchronization should resume seamlessly, ensuring that any transactions or information missed during the disconnection are updated accordingly.
By following these steps, you can quickly resolve any interruptions in the API connection between Acodei and QuickBooks, maintaining your financial data's smooth and efficient flow.
---
# Transactions Stuck In Progress
## Normal Queue
Typically, real-time transactions Acodei receives from Stripe are pushed through our queue quickly. However, sometimes, transactions become stuck due to an error from QuickBooks or a high volume of transactions. If you see a transaction stuck on "In Progress" for an extended period, please email us at [support@acodei.com](mailto:support@acodei.com), and we will resolve it for you.
## Historical Data Pull
The rate at which we can process historical data depends on various factors. If you are making a large historical data request, you can anticipate that we will sync approximately 500 transactions per hour. Depending on your place in line and the activity of the transaction queue, we may process more or less.
During the historical pull process, you are likely to see “In Progress” for all transactions. Please let us know if data hasn’t synced along the above timeline guidelines.
Payouts are always the last thing to sync in a historical pull. If you order 12 months of data, we will attempt to push all sales receipts and refund receipts to QuickBooks before matching them up for a deposit.
---
# Duplicate Data
Though uncommon, the QuickBooks API occasionally generates duplicates of sales receipts or other documents. While we've made extensive efforts to address this within our code, the chance of duplicates persists. To help you manage this issue, we've developed the Duplicate Checker that you can use to manage potential duplicates.
## Duplicate Checker Button[](https://docs.acodei.com/docs/duplicate-data/#duplicate-checker-button)
On the Dashboard , click on Duplicate Checker on the left side menu. On the Duplicate Checker page, you can run a duplicate check anytime using the button at the top right of the page. This will automatically search for duplicates and automatically delete them if found. This search runs in the background and doesn't require any additional action.
##
---
# Deleting Data
You can easily delete any data Acodei has imported into your QuickBooks account.
1. Navigate to your Data Feed in Acodei.
1. Select the transaction(s) you wish to delete by clicking on the gray box on the left side of each transaction.
1. Open the “Select Action” drop-down menu at the bottom of the page and choose Delete in QuickBooks.
If you're canceling your subscription and want data deleted, ensure it is done before disconnecting from the app. Once disconnected, Acodei cannot delete data.
If you encounter a Failed to Delete status for a transaction, unmatch the deposit from the payout on your banking feed in QuickBooks, then attempt to delete the data again.
---
# Matching Payouts to the Bank Feed
After connecting your bank to QuickBooks Online, you'll observe bank data imported directly or receive periodic CSV imports containing your bank transactions. Whenever a Stripe Payout is initiated, you'll notice it reflected in your bank feed.
Acodei generates Deposits or Transfers according to your preferences. These Deposits and Transfers align with the amounts of Stripe Payouts and the figures on your Bank Feed.
Do not match a Sales Receipt on your Bank Feed. A Bank Deposit automatically selects Sales Receipts. Only Deposits and Transfers should be matched.
If the amounts between the Bank Deposit created by Acodei and the Bank Feed entry from your bank match, you're ready to click "Match." For further troubleshooting or reconciliation options, please refer to the details below.
The following figures present samples of matching transactions:
### Using Undeposited Funds as your Stripe Holding Account:
### Not using Undeposited Funds as your Stripe Holding Account:
## Resolving when you don't have a "Match"
When you don't have a "Match", please follow the steps below:
1. Check the Data Feed on Acodei at [https://quickbooks-stripe.acodei.com/data?type=payouts](https://quickbooks-stripe.acodei.com/data?type=payouts). Are you getting a specific error? If so, try to follow the prompts to address the error. Use the [Stripe Payouts not Syncing and Mismatches](/docs/stripe-payouts-not-syncing-and-mismatches) page to help address specific errors.
2. If you stillneed help figuring out why you don't have a match, message support through your Support page inside the app or via email at [support@acodei.com](mailto:support@acodei.com).
## How to reconcile your payouts further
If you’re using Undeposited Funds as your Holding account, please check the [Reconciliation of an Asset Account](/docs/reconciliation-of-an-asset-account) page. If you’re using a different asset account as your Holding account, reference the [Reconciliation of Undeposited Funds](/docs/reconciliation-of-undeposited-funds) page.
---
# Reconciliation of an Asset Account
In this article, we explain how to reconcile your Stripe Balance, assuming you are using a Stripe Holding Account that is not Undeposited Funds. For advice on reconciling Undeposited Funds, please visit [Reconciliation of Undeposited Funds](https://docs.acodei.com/docs/reconciliation-of-undeposited-funds/)
### 1. Monthly reconciliation checklist
1. Grab the Stripe ending balance
- Stripe → Reports → Balance Report → pick month‑end → note ending balance.
2. Open QuickBooks Reconcile
- Chart of Accounts → Stripe Holding Account → Reconcile.
3. Enter statement info
- Ending Balance = Stripe ending balance
- Ending Date = same month‑end
4. Tick through the list
- Each daily‑summary line should clear automatically.
- Difference should be $0.00.
---
### 2. Troubleshooting out‑of‑balance
##
| Checklist | Why it matters |
|---|
| Starting balance mismatch | If you converted mid‑year, opening balance must equal Stripe on that date |
| Missing or incorrect daily summary | Re‑sync the Acodei daily summary for a given day; Contact Acodei |
| Duplicate daily summaries | Run Duplicate Checker; Manually delete duplicate if needed; Contact Acodei |
### 3. Best practices
- Lock the month once it balances.
- Don’t mix UF and Holding in one company file—choose a single model.
- Document your process so bookkeepers know whether to expect per‑payout deposits (UF) or per‑day summaries and transfers (Asset Holding).
---
# Reconciliation of Undeposited Funds
## Reconciliation of Undeposited Funds (UF)
> UF in a nutshell: Undeposited Funds is a temporary tray that holds today’s Stripe sales until the money actually lands in your bank. UF is considered reconciled the moment the matching deposit on your bank feed is accepted.
---
### 1. Ideal workflow
| Step | What’s created | Why it matters |
|---|
| 1 | Sales Receipt for every Stripe charge | Records revenue immediately |
| 2 | Deposit that groups those sales receipts (plus non-transactional Stripe fees, disputes, Stripe Capital, etc.) | Moves the net amount out of UF to your checking account |
| 3 | Bank‑feed match to the real Stripe payout | This clears UF and completes reconciliation |
Key takeaway: you don’t reconcile UF directly—you reconcile the deposit by matching it to the bank feed.
---
### 2. Why UF sometimes won’t reconcile
1. Bank‑feed mismatch
- Wrong line was matched or auto‑added
- A QuickBooks Rule auto‑categorized the payout instead of letting you match
2. Manual or instant payouts
- These payouts skip normal Stripe batching, so Acodei can’t pre‑build the perfect deposit
3. Timing differences
- Non-transactional fees, disputes, Stripe Capital items post only when the payout is initiated
---
### 3. Fixing unreconciled UF
##
| Situation | Fix |
|---|
| Deposit matched to wrong bank line | Undo deposit match, resync in Acodei data feed, then re‑match correctly |
| Deposit amount ≠ bank payout | Contact Acodei |
### 4. When to skip UF
Need the Stripe balance in QuickBooks to reconcile every day? Use a dedicated [Stripe Holding Account](https://docs.acodei.com/docs/reconciliation-of-an-asset-account/) instead of UF.
---
# Reconciling the Stripe 1099-K with QuickBooks
The Stripe 1099-K operates on erroneous logic, which places the time of a sale at the time the sale is available for withdrawal rather than the actual sale.
For example, if a sale is made on December 30, 2021, but is available for withdrawal on January 2, 2022, the 1099-K and QuickBooks will not be aligned. The 1099-K will count this transaction as occurring in 2022. QuickBooks Online (and our app) will consider this sale made in 2021.
As you can imagine, this has massive implications for the reliability and reconcilability between the 1099-K and your QuickBooks Online profit and loss statements for monthly and yearly reconciliations.
Stripe's logic on this issue is not clear, but you can read more about how they generate the 1099-K [here](https://support.stripe.com/questions/1099-k-forms-issued-by-stripe#breakdown-of-transactions-applied-to-1099-k).
While the 1099-K relies on the "Available On" date, you can always access the actual sale time data by visiting [https://dashboard.stripe.com/reports/balance](https://dashboard.stripe.com/reports/balance) and inputting the proper dates with the correct time zone. The data shown in QuickBooks and the data shown on the Balance Report should always align. By creating separate two separate standards of reporting (Balance Report and 1099-K), Stripe has caused significant confusion among tax filers.
### Solutions
While we do not plan to modify our core logic to accommodate the Stripe 1099-K, you can choose how you would like to approach the discrepancy, leaving two primary options:
1. After showing this support article to your accountant and reviewing balance reports, make monthly journal entry adjustments to your sales so that your monthly sales match the 1099-K generated by Stripe. Note that you will need to continue to make these manual adjustments unless Stripe changes its policy to accommodate real-time sales data on the 1099-K.
1. Submit your taxes according to the Stripe Balance Report and QuickBooks Online P/L statement. Do this year after year without changing your methodology. If you happen to get audited, provide the auditor with the CSV report generated by Stripe that shows the actual transactions' dates and the monthly Balance Reports, which should match your P/L statement from QuickBooks Online.
We will continue to monitor this situation and develop solutions to address this problem.
---
# Revenue Recognition / Accrual Accounting
Acodei supports the core of accrual accounting from Stripe to QuickBooks today, recording sales when they are billed rather than when they are paid. We are actively building a full revenue recognition integration. Here is what works now, and how customers handle the rest.
## Accrual-basis sales with Invoice Sync
With [Invoice Sync](https://app.notion.com/invoice-sync/index.html.md) enabled, Acodei creates a QuickBooks invoice as soon as an invoice is finalized in Stripe — payment is not required. The QuickBooks invoice carries the Stripe invoice date and remains open in Accounts Receivable until the payment settles in Stripe, at which point Acodei applies the payment in QuickBooks.
The result: on accrual-basis reports in QuickBooks, your revenue appears on the invoice date, and your A/R aging reflects what is billed but not yet collected.
Invoice Sync requires real-time sync mode (it is not available in Daily Summary mode).
## Bad debt and uncollectible invoices
When an invoice is marked uncollectible or voided in Stripe, Acodei can create a credit memo in QuickBooks that closes out the open invoice. The write-off can be configured to either:
- Mirror the original invoice lines, preserving the original income accounts, or
- Post a single line to a dedicated bad-debt product/account of your choosing.
If Stripe later collects on an invoice that was written off, Acodei automatically reverses the write-off and records the payment.
This behavior is configured by our team per account — message us at [support@acodei.com](mailto:support@acodei.com) and we will set it up with you.
## Deferred revenue
Acodei does not yet automate recognition schedules, but you can run a clean deferred revenue workflow today using our [Multiple Product Mapping](https://app.notion.com/docs/multiple-product-mapping/index.html.md) feature:
1. Map your subscription products (for example, annual or multi-month contracts) to deferred revenue liability accounts in QuickBooks. Acodei will book those sales to the liability accounts automatically as they are invoiced.
2. At the end of the month, post a recognition journal entry, moving the earned portion from deferred revenue to revenue. Customers typically drive this entry from a spreadsheet or from Stripe Revenue Recognition's reports if they have that product enabled.
### A note on QuickBooks Online Advanced Revenue Recognition
QuickBooks Online Advanced includes a built-in Revenue Recognition feature. Based on the experience of customers who have used it, we no longer recommend it — it has proven unreliable in practice, particularly around edge cases such as refunds and schedule corrections. If you are already using it, Acodei's product mapping still works alongside it, but for new setups we suggest the deferred revenue workflow above.
## What we're building
Stripe offers a GAAP-compliant [Revenue Recognition](https://stripe.com/revenue-recognition) product that computes recognition schedules directly from your Stripe billing data. We are building an integration that translates Stripe Revenue Recognition's ledger into QuickBooks journal entries automatically — eliminating the manual month-end step.
This is in active development. If you want to help shape it as an early tester — especially if you are a controller or accountant running accrual books on Stripe today — please message us at [support@acodei.com](mailto:support@acodei.com).