Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Instructions for uploading MSB transactions into Intacct

Introduction

In FE, each individual student billing transaction, whether it was charging the student account,
accepting a payment, or writing off a specific charge, created its own balancing Debits and Credits
entries, which were easily posted to FE’s general ledger.

In MSB it works a little differently, since MSB is more of a student-facing, very payments-oriented
transactional system, as opposed to a module (very user-unfriendly) within a larger accounting system.
Therefore, to get to the correct GAAP-compliant1 amounts to book in our accounting system, we need
to do a little extra effort, but luckily it can be automated to a large degree.

Capturing Payment transactions (largest piece of the puzzle)

● The one report that captures all the payment transactions data that we need is the Batch Report
(Detail), which details the aggregate data in the Batch Report (Summary) report. Both show the
exact same dollar totals for a given period of time as long as the same filters are applied. See
screenshot next page.
● Batches are bundles of all the credit card transactions that add up to a specific individual
deposit from Heartland into our BMO bank account, which should show in our bank statements
as “HRT PMT SYS TXN/FEES”. The amounts in the Batch reports should match exactly the
dollars deposited to the bank, to the penny. We want our MSB uploads into Intacct to be based on
these cash deposits, to keep all data tight and consistent.
○ For cash (bills & coins) transactions there are no Batches per-se, just daily cash totals
without a specific batch ID. It will be necessary to do a little manual reconciling of these
daily amounts to the weekly Thillens deposits. More on this later.

1
GAAP: Generally Accepted Accounting Principles. Fancy term for “accounting rules”.
1
● Watch the “Reconcile credit card payments” video here for additional context. Notice that credit
card transactions take one day to show in the Batch report, and an additional day to be
deposited by Heartland into our bank account.
● MSB creates credit card batches on a daily basis, including weekends. Not clear if the deposits
into the BMO account also occur over the weekends, or get aggregated and deposited
simultaneously the next working day. At any rate, this should be easy to spot in our BMO
statements.

What are we trying to accomplish?

For credit card payment transactions, we want to arrive at an upload file with balancing Debits and
Credits, showing all the individual revenue transactions, and the credit card fees applied, adding up to
specific individual batch deposits from Heartland that should match what we see in the bank
statement.

For cash payments (which get deposited by Thillens), since MSB doesn’t know when the cash (bills
and coins) gets deposited to BMO, all it can do is show transactions grouped by day. This will require
some manual inspection and grouping of the daily transactions, so that the amounts coincide with the
observed Thillens weekly deposits.

2
But we can get the credit card and cash payment transactions done with a single file, which will show
daily amounts. No need to separate the info in two files.

The table below is a simplified version of what we want to arrive at for a given Batch ID. Uploads will be
composed of one or more self-balancing (debits balance with credits) batch entries like this.

Batch Cost
Date number GL account Loc Ctr Debit Credit Transaction description
8/17/2022 329665838 10005 Undeposited Funds 00 000 1,086.75 Heartland deposit, net of fees
8/17/2022 329665838 50620 Merch. bank Fees 30 252 55.75 Merchant bank fees
8/17/2022 329665838 41300 Student Fees 01 100 180.00 Sweaters - Mansueto; Paid via MSBA
8/17/2022 329665838 41610 Sales Uniforms 01 100 25.00 Polos - Rauner; Paid via Parent App
8/17/2022 329665838 41610 Sales Uniforms 02 100 15.00 Lanyard - Speer; Paid via Parent App
8/17/2022 329665838 43250 School Meal fees 03 256 180.00 Polos - OC; Paid via MSBA
8/17/2022 329665838 41400 Transportation fees 04 100 50.00 Polos - Golder; Paid via Parent App
8/17/2022 329665838 41613 Drivers Ed 04 100 35.00 Shirts - Rauner; Paid via Parent App
8/17/2022 329665838 41300 Student Fees 05 100 180.00 Student Fee - Rauner; Paid via MSBA
8/17/2022 329665838 41610 Sales Uniforms 10 100 35.00 TShirts - Comer; Paid via Parent App
8/17/2022 329665838 41613 Drivers Ed 12 100 35.00 Sweaters - Pritzker; Paid via MSBA
8/17/2022 329665838 43250 School Meal fees 15 256 407.50 Polos - Rauner; Paid via Parent App
TOTALS 1,142.50 1,142.50

In the uploads, we want the bank deposit and merchant bank fees to be just one line each2, but for the
actual student transactions we want to capture the detail by campus, Product or Fee paid for, and
student, similar to the data granularity from the FE student billing module. Update: given that Intacct
isn’t good at handling journal entries with thousands of lines, we’ll summarize this info by type of
product and payment method (e.g. summarize all Sweater sales paid through MSB Anywhere for a
given date.)

Notice how the cash deposit line is against GL 10005 Undeposited Funds, rather than GL 50620 BMO
Student Billing. Two reasons to do it this way: (i) the dates of the batches may be a couple of days off
from the actual deposits in the bank, and (ii) the MSB cash batches are daily, while the Thillens deposits
are weekly. Given these nuances, it’s easier to do the journal uploads based on MSB batch dates, then,
separately, reconcile against the actual bank deposits observed in the BMO bank account by moving
cash balances in Intacct from Undeposited and into BMO.

Wait, we’re not recognizing revenue on an accrual basis here, aren’t we double-counting revenue when
invoice payments come in? and undercounting it when invoices are assessed and not yet paid?

Correct: for Invoices, the above Batch report ignores these effects, so an adjustment is needed. In FE,
there was a revenue and a receivable when a charge was initially assessed, and then there was a cash

2
Except for cash & checks payments (bills + coins + checks), where we want the bank deposit to be summarized
by campus, to make it easier to match against the Thillens deposits by campus.
3
payment/reduction in receivable when the cash came in, so the Revenue recorded was
GAAP-compliant. MSB doesn’t yield all those entries, so the process we’ve described so far is all
cash-based, and therefore, yes, we’re technically double-counting the revenue in some cases, and
under-counting it in others.

The way to fix this is to apply a little accounting basics: when you think about how the student’s
account revenue balances fluctuate as activity occurs, the following equation always holds:

ARbeginning + New Revenue – (Payments, which in MSB also includes waivings) = ARend

Rearranging:

New Revenue = Payments + (ARend – ARbeginning)

The Payments part is taken care of by the Batch Report (Detail). All is left to do is book an adjustment
for the change in the AR balances. And when you think about it, the increase/decrease in AR balances is
due to two things:

● New Invoices being created and charged: We can get this info from a couple of places in MSB.
We need to make sure we pull the data for invoices created with the same Start Date and End
Date as the Batch Report (Detail).
● Invoices (old or new, it doesn’t matter) getting paid or waived: Similarly, we can get this info
from MSB, making sure the payment dates match the Start Date and End Date of the Batch
Report (Detail).

So we now have all the three sources of info that we need to book the revenue in Sage Intacct for a
given period of time, be it a week, a month, or any other period we want. The payment batches come
out grouped on a daily basis, so we can also group the Invoices created and Invoices paid on a daily
basis. This way, we end up with debits and credits that balance on a daily basis, and with all the info has
daily granularity, the period we select doesn’t have to match the Thillens weekly cadence, although
that’s probably the best practice. Daily details also make it easy to keep the monthly amounts accurate.

A few important nuances regarding how we’ll book the Invoices Created and Invoices Paid:

● Unlike the payment batches, we won’t import into Intacct the details of each individual invoice or
payment. Instead, we’ll aggregate the data by campus, by date,, and keep the details as backup
in our shared finance folder.
● Since the concept of ARend – ARbeginning could be confusing to Pals and COLs, we’ll book these
adjustments as non-controllable, and leave as controllable the payment batches portion only,
which is what they care about anyway.
● We’ll book these ARend – ARbeginning adjustments against GL 11120 AR Students and GL 41798
Misc. Student Fees. The latter is slightly inaccurate, it would be better to do it against the
specific fees, but then things get more complicated than necessary. All we’re doing is keeping
the overall GAAP revenue accurate.

4
We could stop here, and just run these reports, and manually clean up and aggregate the data to arrive
at the Debit/Credit amounts for upload. It would be a simple, but time-consuming manual process each
time we do it.

Step-by-step instructions

Even though we could do the process manually, luckily it can be automated in Excel with Power Query,
which is a tool used to do this kind of data cleanup and manipulation. It works more or less like a
recording macro: you program the tool with the steps you would manually perform to cleanup a certain
source raw file (all that Copy / Paste values, sorting, filtering, deleting, moving things around, vlookups,
and so forth) and it automatically does it for you with future raw data files.

All the Power Query programming has been done already, so let’s get started:

For the Cash & Credit card payment batches:

1. In MSB, go to Reports → Payments → Batch Report (Detail)


2. Leave all filters untouched, except:
a. Billed To: Check all the boxes, including Cash/Check/Others
b. Select Start date and End Dates for the batches you want to upload. Typically you will
want to do this on Tuesday mornings, with Start date Tuesday of the prior week, and End
date the Monday before you run the report. But since we're working with daily details, it
really doesn't matter.
c. Make sure Status is Settled
3. Check the boxes Show payment item detail and Show All Fees (this refers to the credit card
merchant fees, not the fees assessed to students.)
4. Send to Excel

You’ll notice the resulting file has all the details necessary to produce the Debit/Credit upload file for the
Payments portion, including the breakdown, for each individual transaction, of the gross payment by the
student, the merchant fee applied, and the net amount included in the deposit. The report does this for
all batches for the selected date period.

5
5. Save the file as a CSV to the shared folder
G:\Shared drives\NST - Finance\Accounting\MSB Uploads
Save with the following exact name: MSB CSV Download_Batch Report Detail.csv
If you use a different file name, or don’t save it as a CSV, the Power Query engine will not be able
to find the data. Overwrite the pre-existing CSV file by the same name if necessary.

Ignore the following error message when trying to save as a CSV: the extra tabs will be removed
automatically by Excel when saving the file.

For the new Invoices Created:

6. In MSB, go to Invoices → Invoices → Invoice Filters. Click the Reset button to clear any
pre-existing filters from previous sessions.
7. In the Creation Date section, enter start and end dates that match the Batch Report (Detail)
exactly. Make sure all other filters are clear:
○ No orange funnel icon ( )in the Enrollment Filters nor Payment Filters tabs
○ Status dropdown should show All rather than Pending. Click the small “×” to the right to
remove all filters in this parameter
8. Click Search, then Export at the bottom. Make sure you select All under Export Options.

6
9. Save the file to the shared folder, also as a CSV
G:\Shared drives\NST - Finance\Accounting\MSB Uploads
Save with the following exact name: MSB CSV Download_Invoices Created.csv
Overwrite the pre-existing CSV file by the same name if necessary. Ignore the error message
about multiple tabs

Important observation: you could also get this information by going to Reports → Invoices → Invoice
Report (Detail). It gives you a deceivingly similar report, with one important problem: when an individual
invoice has several partial payments against it, the report shows the original invoice amount in multiple
lines. Therefore, we would have to do some extra manipulation to get rid of the duplicates.

For the Invoices Paid:

10. Go to Reports → Invoices → Invoice Report (Detail). Click the Clear button to clear any
pre-existing filters from previous sessions.
○ Counterintuitively, in this case it’s actually the Invoice Report (Detail) that gives us the
payment info that we want. If we tried to get this info from the Invoices → Invoices →
Payment Filters menu, we would get a file without a payment date column, which would
be useless for our purposes.
11. Make sure all boxes are checked in the View Invoices With and Payment Type sections.
12. In the Payment Date section, enter start and end dates that match the Batch Report (Detail)
exactly. Make sure all other filters are clear.
13. Click Search, then Export at the bottom. Make sure you select All under Export Options.
14. Save the file to the shared folder as a CSV
G:\Shared drives\NST - Finance\Accounting\MSB Uploads
Save with the following exact name: MSB CSV Download_Invoices Paid.csv.
Overwrite the pre-existing CSV file by the same name if necessary. Ignore the error message
about multiple tabs

Running the Power Query data clean up “engine” file

Now that we have the three sources of raw data (payment batches, invoices created, and invoices paid)
for the dates that we want, let’s get out of the way and let Power Query do its work:

15. Open the NEVER DELETE ME_MSB POWER QUERY DATA CLEANUP ENGINE.xlsx file in the
same shared folder.
16. Very important: in the Dates tab, enter the Start Date and End Date that you’ve been working
with. This is a manual step, if you forget to update this info, the resulting upload file will come out
with incorrect information.
17. Go to the Data menu in the Ribbon, and click Queries & Connections. This will show a bunch of
queries to the right—these are tables running under the hood (you don’t actually see them in a
tab anywhere), where the cleanup steps are memorized and executed, doing the hard work for
us so we don’t have to.
18. Also in the same Data menu, click Refresh All. This tells Excel and the underlying Power Query
engine to pull the data from the new CSV files (which you just downloaded in the previous
7
steps), and to execute the data cleanup and transformation steps that were programmed
previously. You will see a spinning wheel to the left of some of the Queries. Sometimes it may
take more than 10 minutes for the refreshing to complete, so please be patient.

19. Once the Refresh has completed and the spinning wheels go away, you should see a message
telling you how many rows are in the output file generated.
20. Go to the OUTPUT to upload to Intacct tab. This is the nearly-ready info with balancing Debits
and Credits that we will be booking in Intacct. Perform some data validation for peace of mind:
○ Double-check that the Dates column includes only dates within the period you intended
○ Make sure the dollar amounts in the Debits column add up to zero. In Intacct, it’s
acceptable (and easier) to leave the Credits column empty and work with negative
amounts in the Debits column instead.

8
Backing up our data

We’re almost ready! So far we’ve been working with moving pieces we’ll be reusing again and again, so
let’s make backups for future audit reference:

21. In the Backup Download files from MSB folder, let’s manually make a copy of the three CSV raw
data files, preceding the names with the dates range, as follows (example):
○ 2022.07.01 to 2022.07.31_MSB CSV Download_Batch Report Detail.csv
○ 2022.07.01 to 2022.07.31_MSB CSV Download_Invoices Created.csv
○ 2022.07.01 to 2022.07.31_MSB CSV Download_Invoices Paid.csv
22. Let’s now make an upload-ready backup of the Output table:
○ Right-click the OUTPUT to upload to Intacct tab, and select Move or Copy
○ In the To book: dropdown, select (new book), and check the Create a Copy box, click OK
○ Save the file as a CSV in the folder Backup Upload files for Intacct folder, and rename it
with the convention 2022.07.01 to 2022.07.31_OUTPUT.csv
i. Do not reopen the newly created CSV file in Excel! If you do, Excel will remove
the leading zeroes in the LOCATION_ID and DEPARTMENT_ID columns. Leave it
alone until you have uploaded it to Intacct.
ii. If you can’t resist the temptation to inspect it, open it in Notepad. Or open it in
Excel, but make sure you don’t save it when you close it.
23. Close the OUTPUT Excel file without saving it, and save and close the MSB POWER QUERY
ENGINE file

Uploading to Intacct

24. In Intacct, go to Applications → Company → Set Up → Import Data → General Ledger Journal
Entries → Import
25. Click Choose File, and pick the OUTPUT CSV file you just archived in the shared folder
26. Click Import

Bank reconciliation

27. Recall that we’ve been using GL 10005 Undeposited Funds instead of 11118 BMO Student
Billing. Periodically, as you work in your bank reconciliations, go to Intacct to move amounts out
of Undeposited and into the BMO GL account. The amounts under GL 10005 Undeposited will
correspond to daily batches, so they should match exactly the Heartland and Thillens deposits
observed in the bank statements.

You might also like