How to Record Your Transactions: Bookkeeping Tips from Amy Northard, CPA

How to Record Your Transactions: Bookkeeping Tips from Amy Northard, CPA
July 20, 2017

We all love that email confirmation that our invoice has been paid, but what happens afterwards, when it’s time to record that transaction in your bookkeeping? Let’s walk through, step-by-step, what’s going on in the back end of things when you accept an online payment through Aisle Planner’s invoicing feature.

  1. The client pays your invoice by entering their payment information. Let’s say their invoice was $1,000.
  2. Once they hit submit, $1,000 comes out of their bank account and is transferred into the Stripe payment processing account that Aisle Planner sets up for you when you set up your payment account.
  3. Since Stripe did all the hard work of gathering that money, they want their share so they’ll take 2.9% + $0.30 per transaction for credit card processing or 1.3% for ACH payments. We’ll call those processing fees.
  4. Now you’re left with $970.70 because you paid $29.30 in processing fees.
  5. The $970.70 is then transferred from Stripe to your business checking account.

This all seems simple enough, right? But what about reporting all those steps in your bookkeeping? It may seem like having Aisle Planner linking directly to your bookkeeping software is the best answer, but other systems have tried it and I (an accountant for creatives) end up dealing with the mess created by it. We’re talking missing transactions, duplicated income, etc.

To keep things nice and simple, you’ll want to treat the newly created Stripe account like it’s a bank account for your business. When $1,000 is deposited to Stripe (happens when the client pays), you record that full $1,000 as Income. When the $29.30 fee is taken out, you’ll record that as a Bank Fee Expense (or something similar). When the remainder is transferred to your checking account, label that a transfer in your bookkeeping software so it’s not double-counted as income.

The key is making sure you report the income at the full amount of the invoice and the processing fee separately and not just what you end up receiving into your checking account.

If you’re still struggling with how to report invoice payments in your specific bookkeeping software (they are all so different!), taking some time now to talk with an accountant about the best process for your software will save you so many headaches when it comes to tax time!    

Share

About the Author

Amy Northard
Amy Northard
Amy Northard, CPA
Amy Northard is the Accountant for Creatives®. She is a Certified Public Accountant (CPA) who specializes in working with creative small business owners to make taxes and bookkeeping less stressful. She has a passion for helping small business owners wade through all the financial things it takes to start and operate a business so they can focus on their craft.
The website encountered an unexpected error. Try again later.
TypeError: Drupal\ap_gallery\Plugin\QueueWorker\GalleryJsonQueueProcessor::__construct(): Argument #6 ($file) must be of type Drupal\s3fs\S3fsFileService, Drupal\s3fs\S3fsFileSystemD103 given, called in /var/www/ap/web/modules/custom/ap_gallery/src/Plugin/QueueWorker/GalleryJsonQueueProcessor.php on line 63 in Drupal\ap_gallery\Plugin\QueueWorker\GalleryJsonQueueProcessor->__construct() (line 46 of modules/custom/ap_gallery/src/Plugin/QueueWorker/GalleryJsonQueueProcessor.php).
Drupal\ap_gallery\Plugin\QueueWorker\GalleryJsonQueueProcessor->__construct() (Line: 63)
Drupal\ap_gallery\Plugin\QueueWorker\GalleryJsonQueueProcessor::create() (Line: 21)
Drupal\Core\Plugin\Factory\ContainerFactory->createInstance() (Line: 83)
Drupal\Component\Plugin\PluginManagerBase->createInstance() (Line: 63)
Drupal\Core\Queue\QueueWorkerManager->createInstance() (Line: 208)
Drupal\Core\Cron->processQueues() (Line: 162)
Drupal\Core\Cron->run() (Line: 75)
Drupal\Core\ProxyClass\Cron->run() (Line: 65)
Drupal\automated_cron\EventSubscriber\AutomatedCron->onTerminate()
call_user_func() (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch() (Line: 115)
Symfony\Component\HttpKernel\HttpKernel->terminate() (Line: 66)
Drupal\Core\StackMiddleware\StackedHttpKernel->terminate() (Line: 715)
Drupal\Core\DrupalKernel->terminate() (Line: 22)