Cloud Accounting Comparison – Basics To Be Fully Functional

Written by Greg Lam

Does the cloud accounting software have the basics to be fully functional? I’ll take a look at accrual accounting, journal entries, chart of accounts, and reconciliation to see if it does.

These comparison points (accrual accounting, journal entries, chart of accounts, and reconciliation) are what I use to differentiate between what I’ll call fully functional accounting software and partially functional accounting software. Most of these terms are obvious, at the end of this post I’ll explain the others.

If any one of those items is lacking, then the software can’t do the full range of tasks needed by an accounting professional (accountant or bookkeeper). For basic accounting there’s a need to set up a chart of accounts (asset, liability, equity, income, expense), move money between those accounts (journal entry), and enter and report those transactions using accrual accounting. Verifying certain accounts, like your bank accounts, can be done through a reconciliation process, so that’s why reconciliation is the fourth major item that I believe fully functional accounting software should have. While you can technically get away without a reconciliation feature, it’s the primary (but not the only) way to verify your accounting records, and thus I think a crucial component.

Accrual Accounting

Accrual is the standard method for accounting. The difference between accrual and cash is the time when a transaction is recorded.

Some accounting software only lets you practice one method or the other. In my opinion, the best way is to practice accrual accounting when doing data entry, but also enable cash based reports. I say this because you can always take accrual accounting transactions and easily create cash based reports from them, but you can’t take cash based accounting transactions and create accrual based reports from them. Accrual based accounting contains more data (because it requires two entries for transactions that take place over 2 dates), whereas cash accounting only requires a single entry, meaning there is some missing information.

The software to implement both accrual and cashed based accounting the best is QuickBooks Online. With QuickBooks Online you can change a preferences setting to switch all your reports to be cashed based. This single switch of preferences is an easy way to get cash based reports without having to switch of the fundamental accrual accounting beneath. This enables in the best-of-both worlds with one easy preference change. Xero also offers some limited cash based accounting reports.

Kashoo, Wave, and FreeAgent don’t offer cash based accounting, but here’s two workarounds that you could use:

  1. Change the way you enter data, namely by only entering transactions that have an effect on cash balances. In practical terms, you’d never enter a customer invoice or vendor bill as unpaid.
  2. Deduct the total Accounts Receivable and Accounts Payable from your Profit & Loss, Balance Sheet, and Trial Balance Reports.

Those are not entirely “clean” ways to do cash based accounting, but they are at least able to get you the information you need.

FreshBooks uses a mix of accrual and cash based accounting. For example, you can create customer invoices and then receive payment for them at a later date. However, all vendor bills can only be entered if paid for. You can switch the reporting in FreshBooks from accrual to cash based, but as I’ll talk about later on, FreshBooks doesn’t provide the full gamut of basic reports. However, considering you can’t enter all transactions using accrual based accounting, FreshBooks is not deemed to have the capability to do accrual based accounting.

Journal Entries

The ability to enter a journal entry is a crucial capability, as some transactions can only be done via a journal entry.

Any software that has fields for date, memo, account (to be chosen from the chart of accounts), debits, and credits, get a Y for being able to do journal entries. Other things that are offered, such as recurring transactions, calculating taxes, memos on a per line item basis, assigning categories or names to a transaction, and the ability to reverse a transaction are nice bonuses that a bookkeeper or accountant will appreciate, but probably won’t matter to the average small business owner.

Out of them all, Xero has the the most robust / customizable journal entry window. QuickBooks Online follows closely behind.

FreeAgent has a “simplified” version, where you can only enter journal entries one account at a time. This means a basic debit and credit transaction requires 2 entries. You also can’t post to bank or credit card accounts.

Chart of Accounts

Your chart of accounts is simply a listing of all your accounts (income, expense, asset, liability, and equity).

The most feature-rich chart of accounts can be found with Xero, although the differences in comparison to say QuickBooks or Kashoo is marginal. The big surprise is that other accounting software don’t have basic usable chart of accounts (the ability to add, edit, and delete accounts).

QuickBooks Online US

One thing I didn’t like was that QuickBooks Online forces you to choose from predefined QuickBooks account types (for the benefit of anonymously benchmarking your business against others). Also, the import of accounts into QuickBooks is not a big time saver, since you need to choose a type for each imported account as well as delete any default QuickBooks accounts that you don’t want to use.


The ability to edit accounts in Wave  is limited, since you can’t change the type of account if you originally mis-categorized it. You can’t add descriptions to the chart of accounts. You are forced to choose from their existing account types / categories, which proved cumbersome during set up.


Underneath the hood, FreeAgent has a large set of accounts, but it’s both hard to access, and for certain accounts, impossible to edit. There is no official chart of accounts window you can go to if you want to view and edit all of your chart of accounts on one page. Instead, it is fragmented across various windows, such as: Banking, Journal Entries and Settings. The only types of accounts you are allowed to create and edit are income and expense accounts. You are allowed to add and edit bank and credit card accounts (which are types of asset and liability accounts), but you can’t create or edit any other asset, liability, or equity accounts.


There is no official chart of accounts in FreshBooks, although it does use accounts behind the scenes. You can add revenue and expense accounts, but there is no way to set up asset, liability, or equity accounts. You’re forced to live with a default set of expense accounts that you can’t delete, although you do have the ability to add expense accounts.


Reconciliation, in it’s pure essence, is straightforward. Your goal is to match transactions from an account’s statement (such as your bank statement) to those entered into your accounting software. So the first thing to assess is whether the accounting software has a function to do this. After that, there’s a few differentiating features to look for, such as: Entering transactions from the reconciliation page, allowing for split transactions, assigning taxes, automatically matching transactions, and the interface.

Reconciliation is hard to nail down in a simple y/n feature list as each software has it’s own unique take on how to perform a reconciliation. So, I’ll describe how the reconciliation works with each software.


Xero’s reconciliation window is composed of two columns, transactions from your bank statement are shown on the left and transactions you’ve entered into Xero are shown on the right. If there’s a match, the transaction on the right is highlighted in green and you can hit OK to accept. If there’s no transaction entered into Xero to match the bank statement to, Xero will either suggest a match or it gives you the ability to create the matching transaction on the spot.

If you’re dealing with similar transactions from month to month (and most companies are), Xero has the ability to automatically suggest transactions based on previous transactions you’ve entered. And if Xero isn’t smart enough to suggest a transaction for you, you are given the power to create your own rules (literally, with the “Create Rule” feature).

For those unique transactions that can’t be aided with the help of automation, Xero’s ability to create new transactions from within the reconciliation page is equally as powerful as its automation feature. This includes doing things like creating transaction with split accounts, receiving payments for customer invoices, paying off vendor bills, assigning taxes, and even parsing out bank transaction fees (such as a PayPal fee) that gets deducted from a customer’s payment.

My only complaint? Xero’s reconciliation page only shows 10 transactions a time, which can mean navigating through multiple pages while doing a reconciliation.

QuickBooks Online US

QuickBooks has a dedicated reconciliation window (found under Banking > Reconcile, however you start the process by going using the “Downloaded Transactions” window (Banking > Downloaded Transactions).

Having two separate windows is initially confusing because when you are using Downloaded Transactions, you are entering or accepting transactions based on bank information. This in itself is a kind of reconciliation process. If you use the “Downloaded Transactions” window correctly, the “Reconciliation” window should be a rubber stamp type of verification process.

Downloaded transactions is where you can automatically import transactions from your bank and either get them categorized by QuickBooks or categorize the transactions yourself. The downloaded transactions feature is quite robust, since it can remember past transactions and suggest entries for you. It’ll also suggests matches for transactions you’ve already entered. Using the window you can also receive payments for invoices or bills. Lastly, in the downloaded transactions window you can enter in split transactions. However, this is a bit limited, as you can’t mix income and expenses in a split account (like if you’re trying to receive a deposit from a customer and you also need to enter in a fee that the bank has deducted from the deposit).


In Kashoo’s reconciliation, it will show you transactions from your bank statement on the top and transactions entered into Kashoo on the bottom. Kashoo will suggest matches for already entered transactions and allow you to enter transactions where no match is found. You can assign taxes while entering transactions through the reconciliation page as well. Splitting transactions can’t officially be done, but you can always enter a transaction, and then click on it to edit it and add more line items to that transaction.


There is no reconciliation available in Wave.


The reconciliation in FreeAgent more akin to entering transactions than reconciling transactions. This is because the whole process is designed around you getting a bank feed of transactions or uploading a statement, then “explaining” (i.e. Entering) those transactions. If you’ve already entered transactions before you went to reconcile, FreeAgent won’t suggest matches between the bank statement and transactions entered into your accounting software, you have to painstakingly do the matching yourself. In terms of automation, FreeAgent has the ability to remember past transactions that are similar and start explaining (entering) transactions for you. You’re able to easily add taxes to transactions, which is nice. You are also able to split transactions, although through a two-step process that ends up creating two transactions instead of one transaction that’s simply split. One last thing to mention, is that there is no opening or closing balance showing from the banking page, making it hard to verify transactions entered into FreeAgent against your bank account balance.


There is no reconciliation available in FreshBooks.

Which Cloud Accounting Software Has The Best Reconciliation Process?

Xero is the winner when it comes to reconciliation. It feels as if there’s nothing you can’t do from Xero’s reconciliation page (there are some things of course, but it’s fairly comprehensive). The only downside I can think of is that it does take some effort to fully understand how Xero’s reconciliation works and how to make the most of it. I don’t think it’s really an issue with Xero, but more of an issue of the multitude of things you can do within the reconciliation page, and the inherent complexity of handling reconciliations.

QuickBooks Online has the 2nd best reconciliation. In certain instances, it seems better / simpler than Xero, but running into certain scenarios (like trying to attribute taxes to income entered, which can’t be done), makes it not as capable as Xero.

The big differentiator between QuickBooks and Xero is Xero’s ability to create rules. While Xero does analyze your reconciliations and create internal rules on it’s own, it also lets you create your own rules, which can really notch up the automation and decrease the time you spend doing things manually.

In comparison to Xero, QuickBooks doesn’t handle the manual import of transactions gracefully. It can be done, but it’s a bit of a convoluted process. QuickBooks reconciliation process works nice enough in most cases, but when it comes to needing some flexibility, QuickBooks tends to break whereas Xero shines.

Kashoo comes up 3rd in the reconciliation category. Like Xero and QuickBooks, the whole reconciliation process requires a bit of learning. Once learned, Kashoo has a simple reconciliation process. The interface could be laid out better, as the bank statement transactions show up in the top portion of the reconciliation screen whereas transactions entered into the accounting software show up on the bottom. A left and right interface like Xero would make it a much easier tool to work with. Automation-wise, Kashoo will suggest matches to entries already entered, but won’t, like Xero and QuickBooks, suggest entries for you to make. Kashoo also doesn’t allow you to enter payments received for customer invoices or payments paid for vendor bills from the reconciliation screen.

FreeAgent’s reconciliation, again, is more about entering transactions then reconciling. There’s no balance or transaction summary, so the reconciliation in FreeAgent requires some workarounds to verify the data entered into FreeAgent against your bank statement.

If you receive payments from customers via PayPal, Xero gives you the best ability to automate the entry of these payments. The two reasons for this is that it separates out the PayPal fees from the payment, plus it has the ability to create rules. What this means is that if the products you sell via PayPal are standard (as in the sales taxes, shipping costs, item costs are predictable), then a rule can be created to have these transactions entered for you. It should be noted that FreeAgent and Wave can also separate out the PayPal fee, but they have no ability to create rules.

The Reconciliation Paradigm Shift

In traditional bookkeeping, a reconciliation would be performed after all you transactions have been entered into your books. With the ability to import data from your banks directly into your accounting software, this process has been somewhat combined. You can now enter transactions using the data imported from a bank, combining the two separate steps of entering your records and verifying them into one.

A decent number of applications calling themselves accounting software have seemed to forget that a reconciliation is the act of verifying your records, and thus doesn’t provide any mechanism to do so. There’s the argument that a reconciliation is no longer needed, since transactions are entered into your accounting software based on data received directly from your bank. This in theory makes sense, but in practice, there still needs to be a verification of data (a reconciliation). The reconciliation will catch errors such as duplicate transactions, missing transactions, and transactions that a user deletes or modifies.

Does The Software Have The Basics To Be Fully Functional?

The simple answer is that Xero, QuickBooks, and Kashoo have all the fundamental accounting basics to be called fully functional accounting software.

What does this means for Wave, FreeAgent, and FreshBooks? Does this mean you shouldn’t use them?

No, it doesn’t, but it does mean that it’s missing some (or many) of the functionality that a bookkeeper or accountant would need to do their job within the accounting software. This doesn’t prevent them from taking the data produced from the transactions entered into these software and use that to file taxes on your behalf. What it does mean, is that you’ll either find it difficult or impossible to produce accurate records of your company’s complete financial standing (and thus it’s ability to file and pay your income taxes).

Key Terms Defined

Most of the terms in the chart are clear; you should understand that “Accrual Accounting” identifies if the program has the ability to perform accounting on an accrual basis. Some of the terms might not be as clear, so I’ll define them here:

  • Draft entries: Can journal entries be saved as drafts?
  • Can Reverse: Can journal entries be reversed (whether manually or at some specified date)?
  • Taxes by line item: Can sales tax be assigned to a line item for the purpose of tracking taxes collected or paid (this feature is not necessary for software that can post directly to sales tax liability accounts)?
  • Memos by line item: Can  a memo be added to a line item?
  • Contacts by line item: Can a contact name (like vendor or customer) be associated with a line item?
  • Tracking by line item: Can tracking in the form of classes, jobs, location, or otherwise (the terminology depends on the software) be done on  a line item basis?
  • Duplicate: Can the journal entries be duplicated?
  • Recurring: Can the journal entries be set up to reoccur?
  • Account numbers: Can numbers be assigned to accounts?
  • Assign default tax code: Can a default tax code be assigned to each account, so that when data entry occurs the default tax code is automatically selected?
  • Find matching transactions: Does it have the ability to match an imported bank statement’s (whether this is done automatically or via user upload) transactions to those entered into the software?
  • Suggest transactions to create: With an imported bank statement, can it  suggest how to enter a transaction? For example, it sees a payment to Home Depot and thus suggests that it be categorized to a repairs and maintenance expense account. The user would then either accept or deny this entry. This makes data entry quite automated.
  • Enter transactions from the reconciliation page: Can the user create new transactions from within the reconciliation page?
  • Split transactions : Can a user categorize a transaction to more than one account (associate more than one account with a transaction)?
  • Create automation rules: Can the user create his/her own rules as to how to automatically categorize and create transactions, instead of or in addition to the software automation rules (as discussed in the “Suggest transactions to create” point)

See Part 2 of our Cloud Accounting series – Data Import and Export

For a complete list of the articles in this series – Cloud Accounting Introduction

Now Available!

Written by video blogger and online accounting expert Greg Lam (aka “The Small Biz Doer”), this new book from The Sleeter Group explains, compares, and contrasts 185 features found in today’s leading online accounting software products.Online Accounting Software: Finding the Right Match

Online Accounting Software: Finding the Right Match evaluates:

  • QuickBooks Online (small business)
  • Xero (small business)
  • Cheqbook (microbusiness)
  • Kashoo (microbusiness)
  • Wave (microbusiness)
  • Zoho Books (microbusiness)
  • FreshBooks (invoicing)

Greg gives you everything you need to assess the software and “find the right match” for your own accounting firm or for your clients’ small businesses.

Order your copy today and you’ll receive Greg’s first update FREE!


Save pagePDF pageEmail pagePrint page

About the author

Greg Lam

Greg Lam is a passionate small business guy who loves technology and automation. He holds a BBA from Simon Fraser University, Canada. He's a Certified QuickBooks ProAdvisor, Certified Xero Partner, and Kashoo MVP. His business interests are focused on online accounting and how it can be used to streamline and automate a company’s accounting processes. He currently lives in Tokyo, Japan.

Greg operates the Small Biz Doer website, an "Entrepreneur's Guide to Small Biz Bookkeeping." He is the author of Online Accounting Software: Finding the Right Match, published by The Sleeter Group.

Connect with Greg on Twitter, Google Plus, YouTube, LinkedIn, or Facebook.


  • Greg,

    Great article! Re: reconciliation. I’ve been referring to this new paradigm as “Perpetual Reconciliation.” And as you and I have discussed, it does lead to the question of how will I catch things that did NOT get entered, or were somehow missed along the line.

    Entering data into the ledgers via bank feeds is a compelling and valuable idea for sure, but how will we find things that the bookkeeper intended to do, but for some reason they never reached the bank?

    I expect these types of issues to surface as users and accountants get more experience with Xero and other online accounting tools, and I’m sure they’ll be addressed in some way.

    We’re still in the early stages of online accounting, but the speed with which these apps are coming to market and maturing is mind boggling.

    Thanks for your writeup.

  • Doug,

    You’ve got a name for everything don’t you!

    For these missing transactions, do you have any specific scenarios that you see causing issues? What kind of transactions would not reach the bank that you’d need to reconcile?

    • Greg,

      One problem of the new “bank-feed world” would be when the business issues an old-fashioned “check,” written by hand and given to a vendor. What if it remains outstanding for a long period of time? With a system that does bank feeds, there would be no concept of “outstanding checks” to be considered at the end of the month, unless the user manually entered that transaction into the books.

      In today’s GL systems, the user would always enter that “check” into the books, and then reconcile it with the bank statement at the end of the month. But to take full advantage of the new systems that rely on bank feeds, users of those systems would probably not record those checks in the system, and instead just wait for them to “show up” from the bank feeds.

      Of course we all need to get away from “old-fashioned checks,” but it a reality in today’s world, and it could present problems for the business owner who doesn’t record the check in the system before it “shows up” from the bank feed.

      Anyway, I think we’ll all need to adjust to this new reality, but this is my example of what could go wrong in the new world of bank feeds.

      • Okay Doug, I understand now exactly what you are talking about.

        Even though there is a shift in the way reconciliations are done, I don’t think displaces the need to do certain transactions manually. For a simple service business, I always recommend doing the 5 following things before doing any reconciliation.

        1. Enter your vendor bills
        2. Create your customer invoices
        3. Pay your vendor bills
        4. Receive payments for your customer invoices
        5. Enter batch deposits (in the cases where you are using a undeposited funds account to deposit several payments at once)

        In some software, you can get away with only doing the first 2 steps, as you can do 3, 4, and 5 during the reconciliation.

        Now if you have a business that involves inventory, reimbursable expenses, P.O.’s, and what not, then you’d need to do that type of stuff before doing a reconciliation as well.

        The bank feed is not the panacea for an automated books, as much as the software providers like to advertise this. You still need to do some work.

        Following the steps I outlined above, this would catch the type of transactions you are talking about and really should be a best practice when doing your books using the accrual method.

  • Hi Greg,
    Thanks for including Wave in this review! We’ve made quite a few updates recently, including recurring invoices, and I’d love to chat about what updates we’ve done that can be used to update the list of features. If you’re interested in chatting about these features, you can reach me at [email protected].
    -Sara from Wave

    • Hi Sara,

      Thanks for the note. I could have swore I emailed you a month ago or so, I had a couple people from Wave reach out, but checking my email I can’t seem to find the email I thought I sent you. In any case, I had Scott reach out to me via email today as well, so I think we’ll get something sorted in terms of a chat. You can always reach me directly at [email protected].

      • Thanks Greg. Yes, we’ll coordinate a call very soon. Just so you are aware, we’re building a bank rec tool now, and hoping to have it in beta by the end of this quarter!


        Scott Zandbergen

  • Greg,

    Thanks for the indepth article. Could you explain a little more about the following spreadsheet items?
    I don’t understand what these features do.

    Draft entries
    Contacts by line item
    Tracking by line item


    • Hi Ben,

      Good questions. I will update the article in the next day or two with a description of each criteria point found in the spreadsheet. However, the quick answers are:

      Draft Entries: This is the ability to save the journal entry as a draft.
      Contacts by line item: QBO has the ability to associate a Name (Customer, Vendor, Employee) with each line item in a journal entry
      Tracking by line item: This means different things in QBO vs. Xero. QBO lets you do class and location tracking while Xero lets you do job tracking.
      Duplicate: That means the ability to duplicate the journal entry

  • Hi, I think you should update this – we use Freeagent for all our accounting needs and it now does everything you highlight it didn’t do, it also runs our full payroll, VAT and self assessment tax returns for our directors.

Leave a Comment