Wave Exit

Help

Everything in Wave Exit's Help panel, on one page. In the app, click Help at the top right, or any “?” link next to the thing you're looking at.

Getting started

What Wave Exit does

Wave Exit takes one Wave Accounting business at a time out of Wave. You give it what Wave can provide, it merges and checks the books, and you make the outputs you need: an archive for the client file, report PDFs, an Excel review workbook, and files for the new system.

Each client business is a project. A project has three screens:

  1. Inputs: add Wave's export files, and connect to Wave if you can.
  2. Review: look at the checks and answer any questions.
  3. Outputs: tick what you want and press Create.

You can come back next month with a newer export and make more outputs without asking the client again.

To look around first, click “Try a sample business” on the home screen. It opens an invented business with everything already added.

Installing the app

Download the installer for your computer from the project's Releases page on GitHub: the .dmg file for a Mac, or the .msi or -setup.exe file for Windows.

Preview builds aren't signed by Apple or Microsoft yet, so your computer asks before opening them the first time.

On a Mac:

  1. Open the .dmg file and drag Wave Exit into Applications.
  2. Open Wave Exit from Applications. macOS says it can't check the app; click Done (not Move to Trash).
  3. Open System Settings, then Privacy & Security. Scroll down to the message about Wave Exit and click Open Anyway, then confirm.
  4. From then on it opens normally.

On Windows:

  1. Run the installer. If Windows SmartScreen says it protected your PC, click More info, then Run anyway.
  2. Wave Exit appears in the Start menu.

Only download Wave Exit from the project's GitHub Releases page.

Whose books are these?

SituationWhat you can use
Your own business (you're the owner or an Admin in Wave)Everything: Wave's export files and a Wave connection.
A client's, and you have access (Admin on their business, which needs Wave's Pro plan, or Wave Advisors)Everything, with your own Wave login.
A client's, and you don't (most clients on Wave's free plan)The export files the client sends you. Wave Exit works without a connection and tells you what that loses.

Wave only lets the owner or an Admin export data, and on Wave's free plan a client can't make an accountant an Admin. So the client downloads the files and sends them to you.

Never ask a client to email you their Wave access key. It opens their whole Wave account.

Inputs

Getting the transactions export

  1. Sign in to Wave at waveapps.com and choose the business at the top right.
  2. Click the business name, then Business settings.
  3. In the Settings menu, scroll down to Other and click Data Export.
  4. Under Accounting, click “Export all transactions as CSV”.
  5. Wave emails a download link to the Wave account's main email address. Click “Download data export” in the email and save the ZIP file.
  6. Drop the ZIP file anywhere on Wave Exit's window.
  • The email link only works for 24 hours. If it has expired, export again.
  • Choose “as CSV”, not “for Excel”.
  • The ZIP's name is a long code. That's normal: nothing in it names the business, so Wave Exit checks it against the connected business if there is one.
  • Unzipped already? Drop the folder, or the four files inside it.

Getting the receipts export

  1. On the same Data Export page in Wave, under Receipts, click “Export all receipts as a ZIP file”.
  2. Open Wave's email, click “Download data export”, and save the ZIP file.
  3. Drop it on Wave Exit's window.

Wave Exit links each receipt to its transaction by date and description. Any it can't place for certain appear on the Review screen for you to pick, or are kept as unlinked attachments.

Connecting to Wave

A connection adds accounts that were never used, Wave's account types, invoice line items, due dates, products, sales taxes and estimates. It also lets Wave Exit check every balance against Wave.

  1. On the Inputs screen choose Mine, or A client's, and I have access.
  2. Click Open Wave's key page. Sign in to Wave's Developer Portal with the login that can see the business.
  3. Create an application. Any name will do, for example “Wave Exit”.
  4. Click Create token, and copy the key Wave shows.
  5. Paste it into Wave Exit and click Check key. A green tick shows the Wave login it belongs to.
  6. Click the business.
  • Wave Exit keeps the key in your computer's keychain, for that project only, and only reads with it. It never changes anything in Wave.
  • Forget this key removes it from your computer. When you've finished, also revoke the key on the same page in Wave.
  • If transactions were entered in Wave after the export was made, click Read from Wave again after downloading a fresh export.

Working without a connection

Choose A client's, and I don't on the Inputs screen. Without a connection Wave Exit doesn't have:

  • accounts that have never been used;
  • Wave's own account types (it works them out from the export instead, which is usually right);
  • invoice line items, products and services, sales tax rates and estimates (invoices are rebuilt from the ledger);
  • due dates, so invoices are aged from their invoice date;
  • the check that each balance matches Wave (check 3 is skipped).

Pick the currency of the books; nothing in the export says.

Review

The checks, and what to do when one isn't OK

CheckWhat it provesIf it isn't OK
1. Every entry balancesDebits equal credits in every transaction.Wave's exports have always balanced. The file may have been edited or cut off: download it again from Wave.
2. Total debits equal total creditsThe whole ledger balances.As for check 1.
3. Account balances agree with WaveEach account adds up to the balance Wave shows today.Usually transactions were entered or changed in Wave after the export was made. Request a fresh export and add it, then click Read from Wave again. If the books are meant to stop at the export, accept the difference.
4. Invoices and payments agreeEach invoice's total minus its payments equals what Wave says is owed, and open invoices add up to accounts receivable.Read the detail. A difference is often a customer credit or overpayment with no invoice number; it stays in the ledger.
5. Bills add up to accounts payableThe same for bills.Review the bills listed. Bills haven't yet been checked against a real export that uses them.
6. Nothing lost in readingEvery line, contact and receipt that went in was read.Copy the details for support: this shouldn't happen.
7. Dates are plausibleNothing is dated after the export.Check the listed transactions in Wave; future-dated entries are sometimes intentional.

Green means OK, amber means read the note, red means it needs an answer. Outputs stay locked until nothing is red.

Answering questions

QuestionWhat it means
Accounts with the same nameWave's export names accounts only by name, and Wave has two that match. Pick the one these transactions belong to (the list shows each account's balance in Wave).
Transfer with no other sideWave records a transfer as two entries that meet in Transfer Clearing. One side was found but not the other. Pick the matching entry, or keep it as a journal entry.
Receipt fits several transactionsSeveral transactions that day have the receipt's description. Pick the right one; the amounts are shown.
Receipt doesn't match a transactionPick the transaction, or keep the receipt as an unlinked attachment.
Receivable entries with no invoice numberCustomer credits, overpayments or write-offs. They stay in the ledger; keep them as unapplied credits.
Export from a different businessFew of the export's customers and vendors are in the connected business. Check which business was selected in Wave when the export was made.

Answers are saved with the project and apply again when you add a newer export. Click Change to undo an answer.

Cutover date, scope and fiscal year

  • Cutover date: the day the books move to the new system. Aging is worked out at this date.
  • Full history: every transaction since the business started in Wave.
  • Opening balances at the cutover date: balance-sheet accounts at their balances, income and expenses for the year to date, earlier years' profit in retained earnings, and every open invoice and bill carried separately so aging works on day one. Receivables and payables are balanced by an Opening Balance Equity line that clears when the open invoices and bills are entered.
  • Fiscal year end: Wave doesn't make it available, so set it here. It defaults to December. The yearly reports use it.

The archive (universal package) always keeps the full history; these settings apply to the files meant for the new system.

Outputs

Which output do I need?

If you want to…Make
Keep a complete record for the client fileUniversal package (always made) and PDF report pack
Review the books in a spreadsheetExcel workbook
Load the history as journal entries into another systemGeneral ledger CSV
Get bank and card history into the new system's banking screenBank statement files
Put the whole history into QuickBooks Online as real transactionsLoad into QuickBooks Online

Each card says what that destination keeps and what it loses. You choose where to save; Wave Exit never overwrites a file.

Using the bank statement files

QuickBooks Online: Bank transactions, Link account, Upload from file. Choose the matching bank or credit card account (not a sub-account) and upload the parts in order. QuickBooks takes at most 1,000 lines and 350 KB per file, which is why long histories come in parts.

Xero: Accounting, Bank accounts, the account's menu, Import a Statement. Use the .ofx file. The .csv file also works: assign Date, Amount, Payee, Description and Reference the first time.

  • The transactions arrive to be matched or categorised; Wave's categories don't come across. Bank rules help.
  • A transfer between two of the accounts appears in both files: record it once, as a transfer.
  • If the new system's bank feed is connected, it may download the same transactions. Start the feed the day after the last date in the files, or match instead of adding.
  • QuickBooks .qbo files need the bank's Intuit ID: open a .qbo file the bank gave you in a text editor, find <INTU.BID>, and enter the number on the card.

Loading into QuickBooks Online

Instead of importing history as journal entries, Wave Exit can create real QuickBooks transactions: expenses, deposits, transfers, credit card payments, invoices with their payments, and bills with theirs. QuickBooks's banking, vendor and sales reports then work for the whole history.

  1. Connect: choose a sandbox (test) company first. Wave Exit opens QuickBooks's sign-in page in your web browser; approve it there.
  2. The company: Wave Exit checks whether it already has transactions. An empty company is safest; if it isn't empty, you have to confirm.
  3. Accounts: each Wave account matches an account the company already has (it keeps one accounts receivable, accounts payable and retained earnings), or is created. Change any of them.
  4. Preview: how many of each record will be created, and the amount going into each account. Wave Exit checks this adds up to the books before you can load.
  5. Load: you can pause at any time. If something stops it, fix the cause and press Continue; nothing already loaded is created again.
  6. Check: when it finishes, Wave Exit reads QuickBooks's own trial balance and A/R and A/P aging and compares them with the books.
  • Invoices go in with online payment turned off, so QuickBooks won't email them to your client's customers.
  • Each record notes its Wave transaction number in its memo.
  • If the company is connected to the bank, start the bank feed the day after the last date loaded, or match feed items instead of adding them.
  • Historical sales tax comes in as its own line; set up QuickBooks's sales tax for new transactions.

Remove everything Wave Exit loaded deletes the transactions it created, newest first, and makes its accounts, contacts and products inactive (QuickBooks doesn't allow deleting those). Anything changed in QuickBooks since is left alone and listed.

For now, loading works with sandbox (test) companies, using your own free Intuit developer keys. Loading a real company needs Wave Exit's own QuickBooks connection, which is being registered with Intuit.

Setting up Intuit developer keys (for testing)

  1. Go to developer.intuit.com and sign up (it's free). Intuit creates a sandbox company for you to test in.
  2. Create an app for QuickBooks Online that uses the Accounting scope.
  3. In the app, open Keys & credentials (Development). Under Redirect URIs, add exactly: http://localhost:53682/callback
  4. Copy the Development Client ID and Client Secret into Wave Exit. They're kept in this computer's keychain.
  5. Back in Wave Exit, choose the sandbox company and press Connect to QuickBooks.

The keys reach only your own sandbox companies. Keep the Client Secret private; you can make new keys in Intuit's portal at any time.

What can't be brought out of Wave

  • Recurring invoice schedules
  • Bank reconciliation status
  • Bank-feed connections
  • Payroll detail beyond Wave's payroll exports (Canadian businesses only)

Keep the PDF report pack for each closed year.

Help with problems

Common messages

MessageWhat to do
“doesn't look like a Wave export”Use the ZIP from Wave's Data Export email, or the folder it unzips to. Receipts and transactions are two separate exports.
“damaged or incomplete”The download was probably cut off. Download it again from Wave's email; the link works for 24 hours.
“the Excel version of the transactions export”Export again choosing “Export all transactions as CSV”.
“The export is incomplete”Add the whole ZIP rather than single files.
“Wave didn't accept this access key”The key may have been revoked or copied incompletely. Create a new one in Wave and paste it again.
“Wave is limiting how fast Wave Exit can read”Wait a few minutes and try again.
“This export looks like it's from a different business”Check which business was selected in Wave when the export was made, and export again.
“balances differ from Wave”See check 3 under The checks.

Getting support

Every error message has a Copy details for support button. It copies a technical description, not the books.

Report problems on the project's GitHub page under Issues. Never attach a client's export files or post account names, amounts or access keys.

Security problems: report them privately through the project's Security tab on GitHub.

Privacy

  • Your clients' books stay on your computer, stored encrypted, with the key in your computer's keychain.
  • Wave Exit reads from Wave and never changes anything there.
  • Outputs are written only to the folders you choose.
  • There is no Wave Exit server, no analytics and no upload.
  • Deleting a project removes its files and its Wave key from your computer.