Operator Guide · BaseUp Labs

How to run BaseUp HR, task by task

Twenty-four procedures in the order the work actually happens — from the settings you touch once to the payroll you run twice a month. Each one names the screen, the buttons and the field you need, and tells you how to know it worked.

Phase A
Set upOnce
Phase B
OnboardPer hire
Phase C
CaptureDaily
Phase D
Run payrollPer period
Phase E
Special runsAs needed
Phase F
FileAnnually
A

Set up once

Do these five before the first payroll. Everything afterwards assumes they are in place, and most first-run problems trace back to one of them being skipped.

01Payroll settings and default accounts

Who
Administrator
When
Before the first run
Needs
Chart of accounts posted

Payroll ▸ Configuration ▸ Settings

  1. Set the Salaries and Wages and Cash in Bank accounts. These become the default on every new payroll register.
  2. Set the employee-credit, employer-debit and employer-credit accounts for each contribution. SSS MPF has its own set — fill it separately from regular SSS.PH
  3. Use the push-to-all button beside the account defaults to apply them to every existing contribution configuration and payroll adjustment at once, rather than editing each.
  4. Decide the run controls: Confirm payslips without recomputing (leave on), Allow canceling confirmed payslips and Allow editing payslip lines (leave both off unless your process needs them).
  5. Set Taxable overtime and the Pag-IBIG HDMF Maximum Limit to match your policy.PH
  6. Confirm the salary journal exists for each company. If it is missing the system prompts you to create it rather than failing.
You'll know it worked

Open a new payroll register. The salary journal and cash-in-bank account should already be filled in without you typing them.

02Generate the year's payroll periods

Who
Payroll Manager
When
Once a year, before January
Needs
Fiscal year created

Payroll ▸ Payroll Periods

Every attendance, overtime request, leave date and loan instalment files itself into a payroll period. Generate them for the whole year in one pass — nothing else works properly until they exist.

  1. Open the generate-periods wizard from the Payroll Periods list.
  2. Pick the Companies the periods apply to. One run can cover several.
  3. Choose the Payroll Schedule — weekly, semi-monthly or monthly. Generate a separate set for each schedule you actually pay on.
  4. Set the Start Date and Period Count. For a full year, 24 semi-monthly or 12 monthly.
  5. For semi-monthly, choose either 15th & 30th for true calendar halves, or Select Two Dates Every Month and nominate the two cut-off start days.
  6. Generate. Review the created periods and check the quarter stamped on each — the contribution schedule uses it to place deductions in the right run.
Watch for

Each date inside a period can independently allow or disallow late and undertime charges. That is the mechanism for a company-declared suspension of work — set it on the period date with a memo, not by editing attendances one by one.

03Check the statutory tables

Who
Payroll Manager
When
At setup, then per circular
Needs
Nothing

Payroll ▸ Configuration ▸ Premiums and Tax Tables ▸ SSS · PHIC · HDMF · Withholding Tax Table

  1. Open each table and confirm one version is active with the correct effectivity date. SSS ships with the Circular 2024-006 schedule and withholding tax with 24 bracket rows already loaded.PH
  2. Open Premiums and Tax Tables ▸ Configuration and set, per payroll schedule, when each contribution is deducted — first half, second half, both, or nominated quarters of a weekly cycle.
  3. Set whether each premium computes on the basic wage or on basic pay. Contracts can override this per employee.
You'll know it worked

Compute a test payslip for a mid-range salary and compare SSS, PhilHealth, Pag-IBIG and withholding tax against the agency's own table by hand. Do this once per table version, not once per payroll.

04Build a work schedule

Who
HR Manager
When
Per shift pattern
Needs
Nothing

Attendances ▸ Work Schedules · Attendances ▸ Employee Work Schedules

  1. Create a schedule and add one line per working segment. A split shift is two lines on the same day — morning and afternoon — not two attendances.
  2. Set Break Time. It is deducted from worked hours, weekly totals and rest-day overtime alike, so an 08:00–17:00 shift with an hour's lunch reports 40 hours a week, not 45.
  3. Set the Grace Period in minutes — the tolerance before a late punch becomes a deduction.
  4. Tick the night-differential flag on each line that genuinely crosses the night window. ND is only computed for flagged lines.PH
  5. Add rest-day lines. They still carry hours — what the employee would work if called in — but are excluded from working-time totals.
  6. Leave the timezone alone: schedules default to Asia/Manila, and the Odoo 20 schedule form does not show the field. Every computation localises before it counts a day.

05Set up approver chains

Who
Administrator
When
Once, optional
Needs
Departments and jobs defined

Leaves ▸ Configuration ▸ Approvers · Overtime ▸ Approvers · Expenses ▸ Configuration ▸ Approvers

  1. Add approvers in sequence for each request type you want laddered. Order matters — a request moves up the list, not to whoever opens it first.
  2. Scope each entry by company, department or job position where one configuration has to serve several business units.
  3. Leave a type's list empty to keep that document on its original single approval.
Watch for

Sending a record back to draft clears approvals already given. That is deliberate — an amended request is re-approved rather than inheriting consent for different numbers.

B

Onboard someone

Four steps per hire, in this order. The contract is what makes the employee appear in a payroll run, so an employee record on its own is not enough.

06Add the employee

Who
HR Officer
When
Per hire
Needs
Government IDs to hand

Employees ▸ Employees ▸ New

  1. Fill last, first, middle and extension name in their separate fields. Do not type a full name into one box — the display name on payslips, DTRs and certificates is assembled from these by the configured name format and letter case.
  2. Enter SSS, PhilHealth, Pag-IBIG and TIN, plus the RDO code and the registered, local and foreign addresses. These feed BIR reporting later.PH
  3. Add family members and emergency contacts in their own tables.
  4. Set the joining date. Age and years-in-service are then maintained nightly by scheduled jobs.
  5. Record ID, passport and work-permit expiry dates so the expiration automation can raise notices.
  6. Add bank details and tick salary-through-ATM if applicable. The account holder name is filled from the formatted employee name.

07Create the employment contract

Who
HR Manager
When
Per hire, then per renewal
Needs
Task 06 · wage rate table

Employees ▸ Contracts ▸ New

The contract carries the pay basis and every switch governing how this employee's payroll computes. Get these right once and the rest follows.

  1. Set Wage Type — daily, monthly or hourly. This decides which formula computes basic pay.
  2. Set Factor Days (26.0833 by default) — the divisor converting a monthly wage to a daily rate.
  3. Set Payroll Schedule. It decides which periods the employee appears in and which withholding-tax bracket set applies, and it auto-sets the premium divisor.PH
  4. Set Working Days a Week — the options are 261 days a year for a five-day week, 313 for six, and 395 to include rest days and holidays.
  5. Attach a Wage Rate to fill daily pay and COLA from the regional minimum-wage table. This keeps minimum-wage compliance auditable rather than remembered.PH
  6. Review the computation switches — late, undertime, OT, withholding tax, ND, holiday. Turn off individually where they do not apply, so a manager on fixed pay is not docked for a late punch.
  7. Set the WFH quota, or tick unlimited WFH for fully remote staff.
  8. Set the contract to Set as Running.
Watch for

Duplicating a contract is deliberately blocked. To renew, use Create New Contract on the existing contract — it closes that contract today and opens a fresh one, effective tomorrow, with the previous terms carried forward. Odoo 20 refuses two active contracts for one employee taking effect on the same day, which is why the new one cannot start today. For year-end bulk renewals use Change Status on a multi-selection.

08Assign the schedule and rest days

Who
HR Officer
When
Per hire, then per roster change
Needs
Task 04 · Task 07

Attendances ▸ Employee Work Schedules · Day-Off Schedules

  1. Create an employee work schedule assigning the calendar to the employee for a validity window, and set it running. Draft, running and closed states give a seasonal roster change a paper trail.
  2. Open Day-Off Schedules and name the employee's rest days.
  3. For a whole group, use the day-off scheduling wizard: set Day-Off Date and pick the Employees to apply it to.
  4. Set the day-off ceiling — how many day-offs are allowed inside one payroll period — on the contract or the employee's payroll tab.

09Give the employee self-service access

Who
Administrator
When
Per hire
Needs
Task 06

Settings ▸ Users and Companies ▸ Users ▸ BaseupPH Access

  1. Create the login from the employee form. A New User Invite mail template goes out with it.
  2. Set one BaseupPH Access profile on the user. The underlying groups, model permissions and record rules follow from that single choice.
  3. Pick the profile by role: Employee Access for own record and own payslips; Manager Access to also approve the team's leave and expenses; HR Manager Access for full HR administration; Accountant Access for payroll and finance; Kiosk Mode Only for a shared terminal login.
You'll know it worked

Log in as that user. My Profile should open their own employee record read-only, with their payslips reachable from the counter on the form — and nothing else.

C

Every period

The work between payrolls. Attendance has to be complete and overtime and leave approved before you compute, because computing pulls whatever exists at that moment.

10Capture attendance

Who
Employees · HR Officer
When
Daily
Needs
Task 08

Attendances ▸ Manage Attendances ▸ Attendances · To Validate · Kiosk Mode · Biometric Machines · Biometric Attendance Logs

Four routes in, all landing on one attendance record that computes late, undertime, overtime and night differential against that day's schedule. Pick per site, not per person.

  • Kiosk Mode — a shared terminal with employee selection and badge scanning.
  • Geofenced check-in — turn on geolocation and a work address becomes a fence. Choose which address components must match (road, village, suburb, city, region) or set a straight radius in metres. Places registered on an employee's Work Locations tab are checked too, but only while Device & Location Tracking is on under Attendances ▸ Configuration ▸ Settings — Odoo 20 ships it off.
  • Biometric terminal — see the steps below.
  • Bulk entry — the multiple-attendance wizard, for backfilling.
  1. For biometric: register the terminal by IP, port and location under Biometric Machines, then press Try connection. It reports the users it can see.
  2. Enrol employees onto the device with Create Users. Each employee holds a ZK number per machine, so one person can be enrolled on several terminals.
  3. Punches download on the Download Attendance schedule, or on demand with Download Data. They land in Biometric Attendance Logs with punch type and time.
  4. Press Import Attendance to review which downloaded punches become attendance records, then convert them. The Auto Import Biometric Attendance job does this unattended.
  5. For bulk entry: open the multiple-attendance wizard. Set Employees, Payroll Schedule and either a Payroll Period or a date range.
  6. Set Hour From and Hour To, then untick any weekdays that should not receive an attendance.
  7. New attendances start as Draft. Validate them with Validate on the attendance, or work through To Validate, which lists the draft attendances that have a check-out.
Watch for

Record pass slips — official and personal time-out, with destination, duration and remarks — through their own approve flow. Payroll picks them up; a manual attendance edit does not leave the same trail.

11File and approve overtime

Who
Employee, then approvers
When
Before computing
Needs
Pay rates configured

Overtime ▸ Overtime Request · Pay Rates Table

  • Draft
  • →
  • Submitted
  • →
  • Recommending approval
  • →
  • Approved
  1. File the request with its dates and hours. From those the system resolves the day of week, the scheduled out time, whether the date is a rest day and which holidays it touches — then splits the hours across the matching rate rows automatically.
  2. Tick With Break where the overtime spans a break. It deducts the work schedule's own break value, not a hardcoded hour.
  3. Press Submit, then Recommending Approval, then Approve as each approver acts.
  4. To raise overtime from attendance already captured, select the attendances and use the multiple-OT-request wizard rather than filing one at a time.
  5. Check the split on the request: hours in the night window should appear against the ND variant of the same category, not the plain one.PH
You'll know it worked

Only Approved overtime reaches a payslip. If OT is missing from a computed payslip, the request state is the first thing to check.

12File and approve leave

Who
Employee, then approvers
When
Before computing
Needs
Task 22 · an allocation

Leaves ▸ Leave Requests · Leave Allocations

  1. File against a named allocation. The remaining balance is shown as the employee files.
  2. Submit and approve through the same three-step ladder as overtime.
  3. Check the expanded date rows. A request becomes one row per leave date, each stamped with its payroll period — so leave spanning a cut-off splits across two payslips instead of landing entirely in one.
  4. To deny, use Deny. The wizard requires a reason, which is stored with the approver and decision time.

13File work-from-home

Who
Employee, then approvers
When
Before the WFH day
Needs
WFH quota on contract

Leaves ▸ WFH Requests

  1. File the request. Length counts the employee's actual working days, not calendar days, and overlapping requests are rejected.
  2. The yearly quota — five days by default, set on the contract — is enforced on submission. Used and remaining days compute from approved requests.
  3. For fully remote staff, tick unlimited WFH on the contract instead. No request is needed and the kiosk accepts their remote check-in without an approved WFH day.

14Generate the DTRs

Who
HR Officer
When
End of each period
Needs
Attendance complete

Attendances ▸ Manage Attendances ▸ Daily Time Record

  1. Open the multiple-DTR wizard. Set the Payroll Period and pick the Employees — both are required.
  2. Choose the Action Type and add a Memo if the batch needs explaining.
  3. Generate, then review a sample DTR. It holds one line a day: scheduled in and out, actual in and out, late, undertime, half-day, absent, ND hours, sick and vacation flags, rest-day flag — plus a second table of the overtime approved for that period.
  4. Print the DTR as a landscape PDF for signature.
You'll know it worked

The DTR's overtime table should match the approved OT requests for that employee and period. A mismatch here will become a payslip mismatch.

D

Run payroll

The main event, twice a month for most sites. Eight steps, and the register's own state tells you where you are.

15The payroll run, end to end

Who
Payroll Manager
When
Each period
Needs
Tasks 10–14 complete

Payroll ▸ Payroll ▸ Payroll Registers ▸ New

  • Draft
  • →
  • Confirmed
  • →
  • Closed
  • →
  • Paid
  • ·
  • Cancelled
  • ·
  • Refunded
  1. Create the register for a company, fiscal year, payroll schedule and period. The salary journal and cash-in-bank account default in from Task 01.
  2. Press Generate Payslips and choose scope — by department, by parent department, or an explicit selection.
  3. Press Recompute Sheet. Each payslip pulls its attendance, DTR, overtime, night differential, leave dates, holidays, loans, canteen charges and recurring adjustments for the period.
  4. Review against the register roll-up before going further: total late, undertime, overtime, night differential, premiums, withholding tax, other earnings, other deductions, gross taxable and net. This is the cheapest place to catch an error.
  5. Press Confirm Sheet. With Confirm payslips without recomputing on, reviewed figures cannot silently change under you.
  6. Press Post to Journal — labelled Validate Sheet & Post Journal Entry on some views — to close the register and post to the salary journal.
  7. Press Mark as paid once disbursement is done. Individual payslips can be marked with Pay.
  8. Send payslips — see Task 17.
Watch for

Set to Draft exists but reopening a posted register is a real accounting event, not an undo. If figures are wrong after posting, prefer a refund (Task 18) so the original stays reconciled.

16Export the bank disbursement file

Who
Payroll Manager · Accountant
When
After confirming
Needs
Employee bank accounts

Payroll ▸ Payroll ▸ Payroll Registers ▸ (open a register)

  1. Generate the bank file from the register. It is fixed-width: a header carrying the company account, one line per employee net pay, and a trailer with count and total.
  2. It attaches to the register — take it from there for upload, so the file that went to the bank stays with the run it came from.
  3. Cross-check the trailer total against the register's net pay before uploading.

17Email the payslips

Who
Payroll Manager
When
After paying
Needs
SMTP From configured

Payroll ▸ Payslips · or from the register

  1. Press Send E-Mail. Choose payslip only, or payslip with the DTR attached.
  2. Confirm the SMTP From setting is right first — it fixes the sender address on outgoing payslips and notices.
  3. Employees with a self-service login can also reach their own payslips under My Payslips without an email.

18Refund a register or a payslip

Who
Payroll Manager
When
After an error is found post-posting
Needs
A posted register

Payroll ▸ Payroll ▸ Payroll Registers

  1. Refund the register, or a single payslip if only one employee is affected.
  2. The system produces credit-note payslips. They are excluded from every total, so the originals still reconcile.
  3. Run a corrected register for the same period. Historic payroll stays available under Payroll Archives, out of the live register list.
E

Special runs

Same register mechanics as Task 15 — what changes is a flag set at creation, which changes how the period's entitlements are computed.

1913th month pay

Who
Payroll Manager
When
Annually, by 24 December
Needs
The year's registers posted

Payroll ▸ Payroll ▸ Payroll Registers ▸ New

  1. Create a register and flag it as a 13th month release.PH
  2. Nominate exactly which payroll periods form the computation base. This is explicit on purpose — do not assume it defaults to the calendar year.
  3. Generate, recompute, and review the 13th month line on a sample payslip against your own computation before confirming.
  4. Confirm, post and pay as in Task 15.

20Final pay for a leaver

Who
Payroll Manager
When
On separation
Needs
Contract end date set

Payroll ▸ Payslips

  1. Set the final-pay flag on the payslip for the separating employee. It changes how the period's entitlements are settled.
  2. Check outstanding loan balances and canteen charges are recovered on this payslip.
  3. Settle any convertible leave — see Task 21.
  4. Issue the BIR 2316 for the year to date (Task 23) and a Certificate of Employment from the employee or contract form.

21Convert leave to cash

Who
Payroll Manager
When
Year-end, or on separation
Needs
Convertible days on the allocation

Payroll ▸ Payroll ▸ Payroll Registers ▸ New

  1. Mark the register as convertible when you create it.
  2. The convertible portion of each allocation is paid out and the conversion recorded against that allocation — so the balance and the payment stay tied together.
  3. Check the leave-conversion line on a sample payslip: allocation, convertible days, days converted and amount should all agree with the allocation record.
F

Year-end and filing

The annual cycle: reset entitlements, issue the statutory certificates, and take on the new contribution tables.

22Reallocate leave for the new year

Who
HR Manager
When
Annually
Needs
Fiscal year created

Leaves ▸ Leave Allocations ▸ Multiple Leave Allocation

  1. Open the multiple-allocation wizard and allocate several leave types to many employees for the fiscal year in one pass. This is the annual reset in a single screen.
  2. Set the validity window on each allocation. The Leave Allocation: Check Validity job expires allocations past their window.
  3. Mark the convertible portion of each allocation now, so Task 21 has something to pay out later.
  4. If you carry unused days forward, switch on accumulated leave in configuration before allocating — not after.
Watch for

Leave requests draw against a named allocation. If allocations for the new year do not exist yet, employees cannot file — so run this before January, not during it.

23Prepare and print BIR Form 2316

Who
Administrator prepares · anyone prints
When
Annually, by 31 January
Needs
PDF library on the server — ask IT

Employees ▸ Employees ▸ (open one) ▸ BIR Form 2316 tab

  1. On the employee's BIR Form 2316 tab, set the BIR Year and the period from and to.PH
  2. Fill the employer block — employer type, RDO code, registered and local addresses, signatory name and signature image.
  3. Fill previous-employer TIN, name, address, taxable compensation and tax withheld for anyone hired mid-year.
  4. Set the minimum-wage-earner and overseas-Filipino-worker flags where they apply.
  5. Most figures — gross compensation, tax withheld, the non-taxable breakdown and tax due — are computed from the employee's payslips for the period. Review rather than retype them.
  6. To print, use the Print menu on the employee form or list, and choose BIR Form 2316. Select several employees in the list to produce one PDF each in a single run.
Access note

The BIR Form 2316 tab is available to users with Settings / Administrator access. Other profiles, including HR Manager, can print a completed form but do not fill the tab. There is no menu item for the form — the Print menu is the only route.

24Load a new statutory circular

Who
Payroll Manager
When
When an agency publishes
Needs
The circular's own table

Payroll ▸ Configuration ▸ Premiums and Tax Tables ▸ SSS · PHIC · HDMF

You do not wait for a software release. Each government table is a versioned record with an effectivity date and a draft, active or expired state.PH

  1. Open the table for the agency that published — SSS, PHIC or HDMF — and note the version currently marked active.
  2. Create a new table version and enter the brackets from the circular. Set the effectivity date to the circular's own date; do not edit the outgoing version.
  3. Instead of typing the brackets, you can use Import Circular under the same menu to read them from the agency's spreadsheet or PDF. It only ever creates a draft circular. Check every figure in its preview against the printed circular — Pag-IBIG especially, whose PDF has nothing the reader can cross-check.
  4. Activate the new version. The previous one becomes expired, so historic payslips still reconcile against the table that was in force when they ran.
  5. Re-check Premiums and Tax Tables ▸ Configuration — a rate change sometimes arrives with a change to the computation basis.
  6. Compute one test payslip and check the new figures by hand before the next live run.
·

When a number looks wrong

Almost every payroll query resolves to one of these. Work down the cause column before opening a support ticket — in most cases the data is right and a switch is off.

SymptomMost likely causeWhere to fix it
Employee missing from the register Contract is not Running, or its payroll schedule does not match the register's Contract — state and Payroll Schedule
Overtime shows as zero The OT request never reached Approved, or the contract's OT switch is off Overtime request state · contract switches
Night differential missing The schedule line is not flagged as night-shift Work schedule — night-differential flag per line
Late deduction not applied Inside the grace period, disallowed on that period date, or the contract's late switch is off Schedule grace period · payroll period date · contract
Late deduction too large A late deduction table band is mapping those minutes to a larger charge Late deduction table
Basic pay is wrong Wage type and factor days disagree with how the wage was entered Contract — Wage Type, Factor Days
Worked days look too high Working-days-a-year basis includes rest days and holidays (395) when it should not Contract — Working Days a Week
Weekly hours 5 too many Unpaid break time is not set on the schedule Work schedule — Break Time
Holiday not paid The holiday is not scoped to this company, or the paid-regular-holiday switch is off Holiday record companies · contract switch
Contribution deducted twice, or not at all The premium divisor or the deduction schedule for that payroll schedule is wrong Premiums and Tax Tables ▸ Configuration · contract premium divisor
Contribution amount off An older table version is still the active one, or the basis is wage vs. pay The agency's table — version and effectivity
Withholding tax off Bracket set follows the payroll schedule; a mismatch uses the wrong brackets Contract — Payroll Schedule
Leave landed entirely in one payslip Expected — check the per-date rows; each carries its own payroll period Leave request — date rows
Employee cannot file leave No allocation exists for the fiscal year, or it has expired Leave Allocations — validity window
Biometric punches not appearing Employee has no ZK number for that machine, or the punches are downloaded but not imported Enrolment · Import Attendance
Kiosk rejects a remote check-in The check-in is at none of the employee's registered work locations, or it is remote and the employee has neither an approved WFH day nor unlimited WFH Employee's Work Locations tab · WFH request · contract WFH settings
BIR 2316 tab not visible The tab needs Settings / Administrator access User's access profile
Figures changed after review The register was recomputed after confirming Turn on Confirm payslips without recomputing

Eleven in-app guided tours cover employee creation, payroll configuration, period generation, payslip computation, the payroll register, DTR, leave allocation, overtime configuration, multiple attendance, biometric attendance and the chart of accounts — a faster first pass than reading a procedure cold. Two more check that the HR dashboard renders and that every menu opens.