← Al Davies, 250 High Street

Petty cash log in SharePoint: spends, receipt photos and approvals

Short answer: make one SharePoint list where every petty cash movement gets one row. A row has a date, an amount, a type (spend or top-up), a reason, a receipt photo and an approver. Then add saved views for pending items and for totals, so you can see the cash balance without a hand-kept page. This guide is a how-to for a tracking log. It is not accounting advice. Follow your own policy for limits, receipts and who may approve.

What this log is for

Petty cash is a small amount of cash kept for small costs. A paper log book or a loose spreadsheet can work for a while. The trouble starts when the book is locked in a drawer, the receipt is in a coat pocket, and nobody can say what the balance should be today.

A list in Microsoft 365 gives you one shared place. Each spend is its own row. The receipt photo sits on the row. The approver is named on the row. A view shows what still needs approval. Another view shows totals.

The log records what happened. It does not decide how much cash you may hold, what needs a receipt or who may sign off. Those rules come from your own policy. Ask the right person in your organization, then build the list to match.

Before you start

Make three choices now. They are easier to make before you have 200 rows.

Write one sentence that says what goes in the log. For example: "Every time cash leaves or enters the petty cash box."

Step 1. Create the list

  1. Open https://www.microsoft365.com and go to the SharePoint site for your team, or open the Lists app from there.
  2. Choose the option to create a new list.
  3. Start from blank.
  4. Name it "Petty cash log".

Exact menu names may differ in your tenant. Microsoft's page on creating a list has the click-by-click steps if your screen looks different.

Step 2. Add the columns

Columns are the fields on each row. Here is one way to start:

Make Date, Type, Amount, Spent by and Approver required. Leave the rest optional so logging stays quick. A person who enters the spend should not be the same person who approves it. That is our advice, not a Microsoft rule. Your policy may say something different.

Step 3. Add sample rows to test it

Before you tell the team, add four test rows. Mark them as tests and delete them afterward. Here is a set:

  1. Title: Opening float. Type: 2 Top-up. Amount: 200.00. Status: 2 Approved.
  2. Title: Printer paper. Type: 1 Spend. Amount: 18.40. Status: 2 Approved.
  3. Title: Postage stamps. Type: 1 Spend. Amount: 9.60. Status: 1 Pending.
  4. Title: Window cleaner. Type: 1 Spend. Amount: 6.25. Status: 3 Rejected.

Work out the answer by hand. Counting approved rows only: 200.00 minus 18.40 leaves 181.60. Your policy decides whether pending rows count. A test with a known answer lets you check your views in Step 5.

Step 4. Decide how to work out the balance

A calculated column cannot add up other rows. Microsoft says: "Note that the formula in a calculated column can only reference other columns in the same list or library." So a running balance column on each row is not possible with a calculated column. Use a view with totals instead.

Microsoft says the Totals setting of a view "Displays summary calculations for the columns in the view, such as: count, average, maximum, minimum." Check your view's Totals menu for what it offers on a Currency column.

One way to start:

  1. Make a view that shows only top-ups. Show the total of Amount.
  2. Make a view that shows only approved spends. Show the total of Amount.
  3. Balance = top-ups total minus approved spends total. Write the two totals on a sticky note, or put them in the list description.

Totals are part of each view. A total set in one view does not show in another view.

Step 5. Build the views

Microsoft says views let you organize, sort, filter and group list data. A saved view means no one has to set filters each time. On a screen it can look like this:

Our advice, not a Microsoft rule: set blank and "is not equal to" filters in the classic view editor too.

Views are not security. A view only changes what is shown. A person who can open the list can still reach every row. If some rows must be private, see "People see only their own items".

Step 6. Add an approval step

You can use the Status column by hand: the approver opens the Pending approval view, checks the receipt photo and changes Status. That is enough to start.

If you want a message to go to the approver when a new row is added, a Power Automate flow can send it. For a full build, see "Expense approval in SharePoint". Do not build a flow that changes the same row it triggers on without a guard. See "Power Automate flow keeps running itself over and over".

Count the cash on a schedule

The list shows what the box should hold. It cannot see the box. One way to start is to count the cash on a fixed day each week and compare it with the balance from Step 4. If they differ, ask your approver how your policy wants the gap recorded, then add a row that says so in plain words.

What to avoid

Honest limits

A list does not stop someone from entering a wrong amount. It makes the entry visible, with a photo and a name next to it. The balance in Step 4 is only as good as the rows. Also, a list is not a cash box: if cash leaves without a row, the list will not know. Start with one box and one approver, and fix what does not work before you add more boxes.

When to get help

You can build all of this yourself in Microsoft 365. If you would rather have it built and tested for your team, I do that. A tracker like this is a fixed price: $5,000 for one, built in 2 weeks. See "What a SharePoint tracker costs to build". Bring one example of the problem to a free call.

Tell me what's still manual

I am Al Davies. I run 250 High Street LLC and build SharePoint trackers and Power Automate flows for operations teams. I work remotely. The first call is free, and I will not try to sell you anything.

See trackers I built: Tools I built

FAQ

Can SharePoint show a running balance on each row?

Not with a calculated column. Microsoft says: "Note that the formula in a calculated column can only reference other columns in the same list or library." Use views with totals for top-ups and approved spends, then subtract.

How do I attach a receipt photo?

Add an Image column. Microsoft says it is used "to add a single image file from your device to an item in a list or a library." That gives one photo per row.

Why use a Currency column and not Number?

Microsoft says Currency is "to store monetary values" and Number is for "numerical values that aren't monetary values." Use Currency for amounts. Our advice: if you need to show an amount through a lookup, use Number, because a lookup cannot show a Currency column.

Who should approve a spend?

Your policy decides. One way to start is one named approver and one backup, and a rule that the person who spent the cash does not approve it.

Can I hide petty cash rows from some people?

A view does not hide anything from people who can open the list. If rows must be private, change the permissions. See the guide on people seeing only their own items.

Sources