Bookkeeping » History » Version 40
Jon Goldberg, 07/06/2024 09:01 PM
1 | 16 | Jon Goldberg | {{last_updated_at}} by {{last_updated_by}} |
---|---|---|---|
2 | |||
3 | 1 | Jon Goldberg | # Bookkeeping |
4 | |||
5 | Megaphone Technology uses InvoiceNinja for A/R and Quickbooks Desktop for bookkeeping. |
||
6 | |||
7 | 20 | Jon Goldberg | ### Transfer client data from Invoiceninja |
8 | 10 | Jon Goldberg | * Get clients from InvoiceNinja. IN **Settings » Import/Export » Export Clients to CSV**. Open in LibreOffice Calc. |
9 | * In Quickbooks, **Lists menu » Add/Edit Multiple List Entries**. List is **Customers**. Paste new clients in the *Name* and *Company Name* columns. |
||
10 | 19 | Jon Goldberg | * Set the list *View* to **All Customers**. Otherwise it's not clear which Invoiceninja clients are new vs. already archived in Quickbooks. |
11 | 1 | Jon Goldberg | * *Work to Reassign* isn't a real client, don't transfer to Quickbooks. |
12 | 20 | Jon Goldberg | |
13 | 29 | Jon Goldberg | #### Automated invoice/credit/payment import |
14 | This is new in 2023. Manual steps are in older versions of this wiki page. |
||
15 | 28 | Jon Goldberg | * Note the last recorded invoice in Quickbooks. You can find that by clicking on **Create Invoices** from the home screen, and clicking "back" once. |
16 | 1 | Jon Goldberg | * Go to Invoiceninja **Reports** tab. Select *Type* of **Invoice**, the date range of invoices we need, and press **Export** (to CSV). |
17 | 36 | Jon Goldberg | * Rename the file to `invoices.csv` and place it in the `invoiceninja-to-iif/input` folder. |
18 | 27 | Jon Goldberg | * Run `invoices.php`. |
19 | * Import the resulting IIF file into Quickbooks. |
||
20 | 2 | Jon Goldberg | |
21 | 28 | Jon Goldberg | Do the same for payments ("Record Payments" in QB, file is `payments.csv`, run `payments.php`). |
22 | Same for credits - but manually add the `Date` field to `credits.csv` in ISO format. |
||
23 | 1 | Jon Goldberg | |
24 | 4 | Jon Goldberg | ### Cross-check: Compare outstanding client credits/debits in Quickbooks/Invoiceninja |
25 | 1 | Jon Goldberg | |
26 | * QB's list is easily available by pulling up the customer center. |
||
27 | 14 | Jon Goldberg | * You can see Invoiceninja balance from the [clients](https://invoices.megaphonetech.com/clients) screen. **Note:** If the client has a *credit*, this will NOT show up on the client screen (this may be a bug). If the numbers don't match Quickbooks, click into the client to look for a credit. |
28 | 4 | Jon Goldberg | * This is also a good time to mark QB customers inactive that have been marked inactive in Invoiceninja. Double-click their name and check off "customer is inactive". |
29 | 1 | Jon Goldberg | |
30 | 30 | Jon Goldberg | ### Record the deposits - Checks |
31 | 1 | Jon Goldberg | |
32 | 30 | Jon Goldberg | Using the bank statements, you'll now record deposits. |
33 | **Note:** The vast majority of checks are e-deposited, so each "deposit" is a single check. |
||
34 | 1 | Jon Goldberg | * From the QB home screen, click "Record Deposits". |
35 | 30 | Jon Goldberg | * Sort by payment method, we're only looking at *Checks*. |
36 | * Put a checkbox next to the first check, press **OK**. |
||
37 | * Find the check on the bank statement (will be listed as *Mobile Check Deposit*), enter the deposit date in Quickbooks. |
||
38 | * Sometimes one check pays multiple invoices, so you need to put them in the same deposit. |
||
39 | * Press "Save and New", repeat until you're done. |
||
40 | 13 | Jon Goldberg | * If your numbers are off, look at "Checks Deposited". |
41 | 30 | Jon Goldberg | |
42 | ### Record the deposits - ACH |
||
43 | |||
44 | 38 | Jon Goldberg | ACH is entered into Invoiceninja from the bank statement, so you can just deposit these without checking the bank statement. |
45 | Make the deposit date the same as the payment date. If there are 2 payments on the same date from the same vendor, combine them. |
||
46 | Do *not* combine ACH payments from different vendors. |
||
47 | 7 | Jon Goldberg | |
48 | 24 | Jon Goldberg | ### Record the deposits - Wire transfers |
49 | 40 | Jon Goldberg | |
50 | **FIXME for next time**: Leave the bank service charge off, let it get picked up by payables.php (which needs to be modified to do so). |
||
51 | 7 | Jon Goldberg | * From the QB home screen, click "Record Deposits". |
52 | 24 | Jon Goldberg | * Locate wire transfers on the bank statements. |
53 | * Check off the corresponding payment in Quickbooks. |
||
54 | * On the next blank line, set the *Account* to "Bank Service Charges* and enter a *negative* amount that equals the service charge. |
||
55 | 1 | Jon Goldberg | * Enter the deposit date from the bank statement, then press "Save and New" until you're done. |
56 | 15 | Jon Goldberg | |
57 | ### Record the deposits - PayPal |
||
58 | 1 | Jon Goldberg | * From the QB home screen, click "Record Deposits". |
59 | 25 | Jon Goldberg | * Log into Paypal.com, go to **Activity > All Reports** menu, then **Activity Download**. |
60 | 1 | Jon Goldberg | * Run a report of type **Balance Affecting** for the appropriate time period, download as a CSV. |
61 | 15 | Jon Goldberg | * Check off the corresponding group of payments in Quickbooks. |
62 | * On the next blank line, set the *Account* to "Bank Service Charges* and enter a *negative* amount that equals the service charge. Note that all Quickbooks fields allow you to do arithmetic, so you can put in the amount from the statement minus the total of payments. |
||
63 | |||
64 | 31 | Jon Goldberg | ### Record the deposits - Stripe |
65 | 1 | Jon Goldberg | * From the QB home screen, click "Record Deposits". |
66 | 37 | Jon Goldberg | * Log into Stripe.com, go to *Balances » Payouts* |
67 | * Page forward until you have the first payment you haven't accounted for. You may have to poke around a bit (see below for how)(TODO: Is there an easier way to see last Stripe deposit?) |
||
68 | * Right-click an entry in the Balances table to see details. |
||
69 | * "Transactions" will list all the payments you need to check off in Quickbooks. |
||
70 | * The "Completed" date at the top is the date for the deposit. |
||
71 | * On the next blank line, set the *Account* to "Credit Card/e-Check Fees* and enter a *negative* amount that equals the "Fees" listed in the "Summary" section. |
||
72 | * Press "Save and New" until you're done. |
||
73 | 1 | Jon Goldberg | |
74 | 32 | Jon Goldberg | ### Import Payroll data |
75 | The bank statement can't be used because we need to record the gross wages and the employer taxes, but the bank statement lines are net wages and all taxes. |
||
76 | * First, find the last payroll imported. In QB's Report Center, run a Profit and Loss Detail report. (make sure your report covers the necessary date range). |
||
77 | * In Gusto, go to **Payroll >> Payroll History**. Scroll down to "Payroll Expenses". Note the most recent date |
||
78 | * Find the payroll summary dated 2-3 days later. Click **View Details**. |
||
79 | * Near the top will be an **Export** link. Click it for this and all more recent payroll history details. |
||
80 | * Copy all the exported IIF files to a folder accessible to Quickbooks. |
||
81 | * Import them one by one (unless we figure out how to be more clever) from **File >> Utilities >> Import, IIF files**. Keyboard shortcut is `Alt-F, U, I, I`. |
||
82 | * Reimbursements will be imported under "Office Supplies". Drill down in the P&L Detail on all office supplies to enter what the payment was for, and optionally to change the category (e.g. books fall under Training Expenses). |
||
83 | |||
84 | 1 | Jon Goldberg | ### Record accounts payable |
85 | 39 | Jon Goldberg | This is *semi-automated*. The "payables.php" script will handle all the payments it can recognize, but many are one-offs to be entered manually. We must download transactions from Amalgamated, which only go back 90 days. If any time period is missing, they must be manually entered from the bank statement. |
86 | * From the home screen, click "Write Checks". Click on "Previous" to note the last transaction recorded in QB. |
||
87 | * Find the downloaded transactions in the "bank statements" folder. They will look like this: `Export-01092023.csv`. The date format is odd - this one is from September 1, 2023. |
||
88 | * Open the CSV and remove and transactions that overlapped a previous export. Save. Or better yet, concatenate the CSVs. |
||
89 | * Copy the file to `~/local/invoiceninja-to-iif/input/payables.csv`. |
||
90 | * Run `php payables.php`. |
||
91 | * This will generate two files in `output`: `payables.iif` and `unknownpayables.csv`. |
||
92 | * Review the unknown payables. If any are an expense that recurs, modify `determineVendorAndAccount()` in `payables.php` to reflect that and re-run the script. |
||
93 | * Import the IIF. |
||
94 | * Handle the unknown payables (and any transactions we missed in the CSVs) as follows. |
||
95 | 1 | Jon Goldberg | |
96 | 39 | Jon Goldberg | #### Recording "unknown" payables |
97 | |||
98 | Using the bank statements and/or `unknownpayables.csv`: |
||
99 | *Note*: If working off the bank statement, make sure we ignore those handled above - "Gusto/NET" and "Gusto/TAX", "SERVICE CHARGE FOR WIRE TRANSFER". But we DO record "Gusto/FEE". |
||
100 | * From the home screen, click "Write Checks". |
||
101 | * Record payments: |
||
102 | 3 | Jon Goldberg | * Make sure payments are categorized correctly. |
103 | * When setting up a new vendor, don't do Quick Add; enter a default category for the payment. |
||
104 | 1 | Jon Goldberg | * Make sure the date and check number is correct. |
105 | * The check number for debit card transactions is "DB". The check number for direct transfers from the bank account is "EFT". |
||
106 | * Put any memos from the check into the memo field in QB. |
||
107 | 4 | Jon Goldberg | |
108 | 1 | Jon Goldberg | ### Reconcile the bank acccount |
109 | |||
110 | Bank reconciliation (aka "bank rec") is a cross-check to ensure that your ending balances in the bank account match that of Quickbooks. You do it once for each physical bank statement you have - though you can also just do it through any date if you know what the ending balance on that day was. |
||
111 | |||
112 | * On the home screen, press the "Reconcile" button. |
||
113 | * Enter the Statement Date and the Ending Balance, press "Continue". |
||
114 | * Check off all the debits and credits that are on or before the statement ending date. If you're lucky, it'll match, and your difference will be $0.00. |
||
115 | ** If not, go through the items one by one (or bifurcate!) and find the discrepancies and correct them. |
||
116 | |||
117 | ### How to handle unusual transactions in Quickbooks: |
||
118 | 35 | Jon Goldberg | |
119 | 1 | Jon Goldberg | * Tax refund: Make Deposits (Rec'd from: NYS Tax and Finance, From Account: Taxes, Memo: NYS Tax Refund, Payment Method: Check, Amount: $73) |
120 | * Bounced checks (to us, not from us: http://support.quickbooks.intuit.com/support/articles/HOW12221) |
||
121 | * Payroll Tax Adjustment (bank statement shows GUSTO PAYROLL/TAX): Go to Gusto **Reports >> Taxes and Compliance >> Tax Reconciliation**. Find the correct one and View Details twice. You'll find, e.g., Dennis, NYS SUI adjustment, -$12. Go to **Company >> Make General Journal Entries**. Debit the bank (Amalgamated) the $12. Credit Payroll Taxes $12. If we owe additional (i.e. not a refund) flip the debit/credit. |