Skip to main content
GullySystem
A practical guide

Segregation of duties in business software: what it looks like

Ganesh HSStrategy and Technology, GullySystem
Practical advice · 4 min read

In this guide 6 sections
The short answer

Segregation of duties means no single person can start, approve and record the same transaction. In software it appears as maker and checker splits, enforced by role based access and recorded in an audit trail. The person who raises a purchase order cannot approve it.

One person should not control a whole process

Fraud and honest error share a cause. One person holds every step. A clerk who creates a vendor, raises its purchase order, receives the goods and releases the payment can hide a mistake or a theft for months.

Segregation of duties splits that chain. Typically it separates three jobs: initiating a transaction, approving it, and recording or reconciling it. Each job sits with a different person.

This article is a design aid for owners and controllers. It is not an audit opinion, and your auditor decides what your control framework requires.

The maker and checker pattern in screens

In software, the maker enters a document and sends it for approval. The checker sees a pending queue, opens the document and approves or rejects it with a reason. The system blocks the maker from approving their own entry.

That block is the point. A paper policy saying managers should not approve their own claims is easy to ignore. A system rule that greys out the Approve button for the creator cannot be ignored.

Typical maker and checker pairs cover purchase orders, vendor bank detail changes, expense claims, credit notes, stock adjustments and journal entries.

  • Purchase order raised by buyer, approved by department head
  • Vendor bank details entered by clerk, verified by finance lead
  • Credit note drafted by billing, approved by accounts manager
  • Stock write-off proposed by storekeeper, approved by operations

How role based access enforces the split

Role based access gives each user a role, and each role a list of permitted actions. Buyer may create purchase orders. Approver may approve them. Nobody holds both unless the owner decides so.

Design the roles around duties, not around people. If Meena covers for the approver during leave, give her the approver role temporarily with an end date. Do not hand her the buyer role as well.

Check for conflicting pairs, for instance create vendor with pay vendor, or receive goods with approve invoice. A conflict matrix, written before roles are built, saves painful rework.

Approval limits and the audit trail

Add amount thresholds on top of roles. A department head approves purchase orders up to a set limit. Anything above goes to a director. The limits live in a settings table the owner controls, not in code.

An audit trail logs who created, changed, approved or rejected each record, with the time and the old and new values. Entries are append only, so even an administrator cannot quietly edit history.

Review the trail on a rhythm. A monthly list of documents approved by someone outside their usual role, or approved within seconds of creation, is a useful early alarm.

  • User, role, time and device for each action
  • Old and new value for each changed field
  • Reason text on every rejection
  • A report of approvals made while on delegation

Small teams still need compensating checks

A shop with three staff cannot always separate every duty. When it cannot, add compensating checks. The owner reviews a weekly exception report, or receives an alert for every payment above a limit.

Software helps here by making the review cheap. One screen listing vendor changes, manual journals and write-offs for the week takes minutes to read.

Start by listing your five riskiest processes and naming who performs each step. Wherever one name appears three times, redesign that step.

Duties conflict matrix

Grid whose rows and columns list the actions in your system, such as create vendor, raise purchase order, receive goods, approve invoice and release payment. Mark each pair as allowed, forbidden or allowed with a compensating check. Include a review owner column.

Open a blank worksheet to print

Questions owners ask

Is segregation of duties only for large companies?

No. Smaller firms face the same risks with fewer people. They often use compensating checks, such as owner review of exception reports, where full separation is impractical.

Does software replace an audit?

No. Software enforces rules and records evidence. Auditors still judge whether the design suits your risks and whether people follow it. Treat this as input to that conversation.

Can an administrator override the controls?

An administrator may change roles, but each change should be logged and, ideally, approved by a second person. Day to day approvals should never be an admin shortcut.

How do we handle staff on leave?

Use time-limited delegation. The delegate gains the approver role for set dates, and the trail marks every approval as made under delegation. The role then expires automatically.

Browse all guidesBack to top ↑
Next step

Have a specific situation to work through?

This article covers the general case. Tell us what you’re actually dealing with and we’ll respond directly.

Share Your Requirements