SpHUB Book a demo

SharePoint expense request web part

SPHub Expenses is a SharePoint Online web part for expense requests: an employee submits an expense with its receipt, and an approver accepts or rejects it, all in one SharePoint list in your own Microsoft 365 tenant. It is called Expense Tracker in the web part picker and in the setup wizard, and it ships inside SPHub rather than as a separate install.

The list the setup wizard creates

SPHub Expenses stores its requests in one SharePoint list, SPHubExpenseTracker, which setup creates with seven custom fields beside SharePoint’s own Title. Setup also creates the site pages that host the module’s forms and views.

Fields in the expense list

type and rule
  • DateRequired. A date without a time.
  • AmountRequired. A number with two decimals.
  • CategoryRequired. A choice: Personal, Household, Health, Hobby, Car/Transport or Food.
  • DescriptionMultiple lines of text.
  • ReceiptA thumbnail-type column. The form saves receipts as list attachments instead.
  • Approval StatusRequired. A choice: In Review, Approved, Partially Approved or Rejected, starting as In Review.
  • Is ActiveYes or no, starting as yes. The recycle bin view uses it.

The expense form

The expense form is a two-step wizard: Basic Information collects the title, category, date and amount, and Details & Receipt collects a description and receipt images.

  • Required fields

    Title, date, amount and category are required, and an amount of zero is not accepted. A new request starts as In Review.

  • Receipts

    Receipt images are saved as file attachments on the request’s list item. The picker accepts JPG, JPEG, PNG, GIF and WebP image files.

  • Description

    The description box holds up to 500 characters.

  • One currency symbol

    The list stores the amount as a plain number and has no currency column, so no request carries a currency of its own. The form shows the symbol from the Default currency symbol setting on the SPHub Settings page.

  • Editing a request

    The update form reopens the same two steps with the saved values filled in. It opens from the Edit button in the request lists.

Views, search and export

SPHub Expenses has three list views: All Expense Requests, My Expense Requests and Expense Requests Recycle Bin.

  • All Expense Requests

    All Expense Requests lists every active expense request, most recently modified first, with a search box, a Choose columns control and an Export button that writes a CSV file. The column choice is remembered in the browser, not in the list.

  • My Expense Requests

    My Expense Requests shows only the requests that the signed-in user created, and it has its own CSV export.

  • Delete and the recycle bin

    Deleting an expense request is a soft delete: it sets Is Active to no, and the request moves to the Recycle Bin view, where it can be restored. This is a flag inside the list, not SharePoint’s own recycle bin.

  • Request details

    The View button opens a side panel with the request’s title, date, amount, category, description and approval status.

Approving and rejecting requests

In SPHub Expenses, approve and reject buttons appear in the all-requests view, and only for people who belong to a SharePoint group named SPHub Approvers.

  • You create the group

    Setup does not create the SPHub Approvers group, so an administrator creates it in SharePoint and adds the approvers.

  • What the buttons do

    The approve button sets Approval Status to Approved, and the reject button sets it to Rejected. A decided request shows a status badge in place of the buttons, and the buttons never set Partially Approved.

  • A display rule, not a permission

    The group check decides who sees the buttons. It does not change who can edit the list, which stays under your SharePoint permissions.

  • One step

    Approval is a single step: one member of the group decides, and the code has no multi-level chain.

Email notifications

Saving a new or updated expense request emails the module’s contact person, and nothing is sent until a contact person is set.

  • Who gets it

    The contact person is chosen on the SPHub Settings page for Expense Tracker, with a people picker that takes one person.

  • How it is sent

    SPHub sends the message through Microsoft Graph from the signed-in user’s own mailbox, and a copy lands in that user’s Sent Items.

  • What it says

    The email text comes from templates in the SPHubMailTemplates list, which your team can edit. Setup includes one template for new and one for updated expense requests, carrying the requester, date, expense type, amount and description.

  • Approval sends nothing

    Approving or rejecting a request sends no email, and a failed email never blocks saving the request.

Where the data lives

Expense data lives in the SPHubExpenseTracker list on your own SharePoint site, inside your Microsoft 365 tenant, and SPHub keeps no copy of it. Receipts are attachments on the list items, so they sit in the same place.

  • An ordinary list

    You can open, export, back up and audit the list with the SharePoint tools you already use.

  • Your permissions apply

    SharePoint decides who can read and edit the list, and SPHub adds no permission model of its own.

  • One outbound call

    The only call SPHub makes outside Microsoft is a licence check that sends your tenant ID; the security page explains it.

Permissions and limits

SPHub Expenses sends its notification email with the Mail.Send Graph permission, and its forms have no people picker. The contact-person picker on the SPHub Settings page uses People.Read, and the security page sets out all three of SPHub’s Graph permissions.

  • In Microsoft Teams

    In a Teams tab the web part always opens on All Expense Requests, because outside Teams the view is chosen from the page address.

  • Category choices

    The category dropdown reads its choices from the list, and an administrator can add or remove choices on the SPHub Settings page.

How you get it

SPHub Expenses ships inside SPHub, and every SPHub plan includes every web part, so it costs nothing extra. The setup wizard creates its list when you enable the module, the web parts page lists the rest of the set, and pricing has the plans.

Questions

  • Can employees see each other’s expenses?

    Each person sees the requests that their SharePoint permissions on the list allow, because the all-requests view adds no filter of its own. The view asks SharePoint for every active request.

  • Can a request carry its own currency?

    A request cannot carry its own currency, because the list has no currency column. An amount is a plain number, and the form shows one symbol.

Other SPHub module pages

Expenses is not the only SPHub module with a page of its own: annual leave, travel requests, asset management and issue tracking each have one.

Module pages

what it is
  • Annual leaveA SharePoint leave request web part: employees submit leave through a two-step form and approvers review the requests in a list.
  • Travel requestsA SharePoint Online web part for business travel requests: an employee describes a trip with its dates and estimated costs, and an approver accepts or rejects it.
  • Asset managementA SharePoint asset management web part that keeps a company’s equipment inventory in one SharePoint list.
  • Issue trackingA SharePoint issue tracking web part that logs problems in one SharePoint list; each issue can carry a priority, a status, an assignee and attachments.

See expenses run in a tenant you control

Install SPHub on a development site, enable Expenses, and submit a request to see the form, the views and the approval buttons.