Finocket keeps a lightweight employee directory so an expense claim or a payroll run can be named against a person, and it can post a whole payroll run as one balanced journal so salary cost lands in your Profit & Loss.
What an employee is here
An employee is a company-scoped directory row, not a Finocket login. Your team's access to Finocket is a separate thing entirely — see Team & roles. A directory row carries a name, optional email, phone and employee code, and optionally the ledger account their reimbursements build up on.
Each row can also carry an external reference — which system it came from, and that system's id for the person. That pair is what makes the sync idempotent: sending the same person twice updates the row rather than creating a second one.
Posting a payroll run
A payroll run posts as a single balanced journal voucher: salary cost, employer contributions and the statutory amounts you withhold, all in one entry. Because it is an ordinary journal, it appears in your ledgers and reports exactly like any other — nothing about it is special-cased.
Stamp the run with its source system and that system's run id, and the post becomes replay-safe: sending the same run again returns the voucher already created instead of double-counting your salary cost. That matters, because a retried webhook is the normal way payroll gets posted twice.
What Finocket will not do
- It will not calculate payroll. No salary computation, no PF, ESI, professional tax or TDS-on-salary working. Those belong to your payroll system.
- It will not pay anyone. Finocket never moves money; the payroll journal is a record of a payment your bank made.
- It will not give an employee a Finocket login. A directory row is not an account and grants no access.
- It will not post an unbalanced run. The journal has to balance like any other, or it is refused.
