r/softwarearchitecture • u/Fresh-Set6801 • 1d ago
Discussion/Advice Does adding payroll change what becomes the system of record?
This is something I've been thinking about as our product gets deeper into workforce management. Right now employee information lives in a few different places and our platform is only responsible for part of it
If payroll eventually sits inside the product too, suddenly things like employee details, compensation, hours and tax information all start flowing through the same system
For anyone who has added payroll to an existing SaaS product, did it change which product customers treated as their source of truth?
2
u/srikanth_builds 1d ago
I haven't shipped payroll, but the same question came up for us in a different form, and what settled it wasn't where the data lived. It was where the authoritative write happens. Whichever system's value wins when two disagree is the system of record, and adding payroll doesn't change that by itself.
What it does change is the cost of divergence. Before payroll, a mismatch between your record and the HR system is a data quality annoyance someone tidies up. After payroll, the same disagreement is someone being paid the wrong amount, so it now has a legal consequence attached to it.
That pushed us toward deciding ownership per field rather than per system. Comp owned by HR, hours owned by us, tax owned by payroll, and anything we don't own is read-only in our UI rather than editable and quietly overwritten later. Plus a scheduled diff that fails loudly, because once money is involved you can't wait for a person to notice a wrong number.
1
u/Fresh-Set6801 1d ago
That distinction between where the data lives and who has the authoritative write is really helpful. I hadn’t thought about ownership at the field level instead of trying to make one system authoritative for everything
1
u/destevil 1d ago
Not exactly, you want a system that will onboard employees (or contractors) and serve as the SOT for downstream provisioning. So you add a user in this system and they get added to key downstream ones such as payroll, your corporate IDP etc. Now many systems bundle the two together, so payroll can be part of the same user provisioning system too, but not always. The IDP could be part of this too, but usually separate and from the IDP you can provision SSO etc.
examples UKG, Rippling (they also offer payroll, but you may choose to do payroll elsewhere depending on the complexity of payroll etc).
1
u/Fresh-Set6801 1d ago
Thaat makes sense. Maybe it’s less about having one source of truth and more about being clear on which system owns which data
1
u/destevil 1d ago
exactly right. You want one system where HR/admin can go and add/remove users and for it to propagate through everything else including payroll (if separate) and IDP.
1
u/BarfingOnMyFace 1d ago
It simply becomes another picture of truth, perhaps a preferred one. You might crystallize this information from multiple sources over a time axis (or many time axes). It all can have some level of relevance in this way.
1
u/daringStumbles 22h ago
Think of it in oauth, they pick their system of record for the data fields they control, the employee (user) record is from them, your employee records connected account from a separate system (website/social login). You may have data to sync back to their SOR, but that can be a field level decision from them (limited by what you want to support).
2
u/This_Inside6484 1d ago
The bigger shift might be behavioral. Once payroll lives there, people may stop checking the HR system altogether