Customer Handbook · BaseUp Labs

Everything BaseUp HR does, in the order you will use it

BaseUp HR is a Philippine payroll and human resources suite for Odoo 18. It takes an employee from hiring paperwork through daily time capture, premium pay, statutory deductions and a posted journal entry — without a spreadsheet in the middle. This handbook is the complete feature list, grouped the way the work actually flows.

Version
18.0.0.6
Platform
Odoo 18 Enterprise
Localisation
Philippines
Data models
80+
License
OPL-1
Publisher
BaseUp Labs
I

What you have bought

One installed application, sixteen working areas. Everything below ships in the same module — there is nothing further to buy, and no separate connector to configure.

Employee records

Full 201 file, family and emergency contacts, government IDs, badges, expiry alerts.

Contracts

Daily, monthly and hourly pay bases, wage rates, premium settings, renewals.

Work schedules

Split shifts, grace periods, rest-day calendars, night-shift flags.

Attendance

Kiosk, geofenced check-in, branch kiosks, bulk entry, late and undertime, DTR generation.

Biometrics

ZKTeco device sync, fingerprint user enrolment, scheduled punch download.

Overtime

Fifteen OT categories across rest days and three holiday classes.

Night differential

Per-shift ND detection with its own configurable rate table.

Holidays

Regular, special and double holiday pay, scoped by company, with per-employee exemptions.

Leave

Allocations by fiscal year, accrual, conversion to cash, half-paid types.

HR cases

Inquiries, complaints and disciplinary cases, with notice, explanation, decision and suspension.

Employee portal

Attendance and leave dashboard, pass slips and HR cases for each employee.

Payroll

Payroll periods, registers, payslips, 13th month, final pay with tax adjustment, refunds.

Statutory tables

SSS, PhilHealth and Pag-IBIG versioned by circular; BIR withholding and annual tax tables.

Loans & canteen

Amortised loans, salary advances, canteen charges, recurring adjustments.

Accounting

Journal entries per register, default GL account mapping, bank file export.

Reports

Payslips, DTR, payroll registers, BIR 2316, certificates, badges, HR cases, dashboard.

II

People & employment

The employee record is the spine of the system. Everything downstream — a schedule, a payslip, a BIR form — reads from it and from the employment contract attached to it.

Employees ▸ Employees · Contracts · HR Management

The employee file

Philippine name handling
Last, first, middle and extension name held as separate fields, assembled into a display name by a configurable name format and letter case — so DELA CRUZ, Juan P. renders consistently on every payslip, DTR and certificate.
Government identifiers
SSS, PhilHealth, Pag-IBIG and TIN captured on the employee, with an RDO code and registered, local and foreign addresses for BIR reporting.PH
Family & dependents
A dedicated family-members table and a separate emergency-contact table, rather than free text in a note.
Service milestones
Joining date, retirement date, age and years-in-service maintained nightly by scheduled jobs, so tenure reports never go stale.
Document expiry alerts
An HR Employee Data Expiration job emails the employee ahead of their company ID (14 days) or passport (180 days) expiring; contract and work-permit expiration notice periods are set in configuration.
Bank & disbursement
Salary-through-ATM flag plus employee bank accounts whose holder name is filled from the formatted employee name.
Training record
Training history kept against the employee, alongside Odoo's own skills and org-chart features.
User provisioning
Create an Odoo login straight from the employee form; a New User Invite mail template goes out with it.

Employment contracts

Contracts carry the pay basis and every switch that governs how that employee's payroll computes. Duplicating a contract is deliberately blocked — you renew instead, with a Create New Contract button that opens a fresh contract with the previous terms, running pay structures and work schedules carried forward, and expires the old one.

SettingOptionsWhat it drives
Wage typeDaily · Monthly · HourlyWhich formula computes basic pay, and whether daily pay is derived from the monthly wage.
Factor days26.0833 defaultDivisor converting a monthly wage to a daily rate.
Payroll scheduleWeekly · Semi-monthly · MonthlyWhich payroll periods the employee appears in, and the withholding-tax bracket set used.
Premium divisor1 · 2 · 4 ×/monthHow often SSS, PhilHealth and Pag-IBIG are deducted; auto-set from the payroll schedule.
Working days a year261 · 313 · 395The paid-days basis — five-day week, six-day week, or every day including rest days and holidays.
ClassificationRank & file · Supervisory · ManagerialReporting segmentation and premium-pay eligibility.
Computation switchesLate · Undertime · OT · W-Tax · ND · HolidayEach can be turned off per contract, so a manager on fixed pay is not docked for a late punch.
Variable work scheduleOn / offFlexible staff are paid on total worked hours instead of scheduled in and out times.
Guaranteed wage & commissionOff by defaultBoth switched on in configuration. A contract can carry a guaranteed monthly wage and a commission percentage; commission is computed from confirmed sales orders that name the employee as salesman, and when the period's guarantee plus commission exceeds basic pay, the difference is paid as an earning.

Contracts move through New → Running → To Renew → Expired, with a bulk state-change wizard for year-end renewals.

Regional wage rates

A wage rate table holds the regional minimum wage by region, sector, establishment type, employment size and area, with basic wage and COLA held separately and the statutory minimum computed from the two.PH Attaching a wage rate to a contract fills the daily pay and COLA, which keeps minimum-wage compliance auditable rather than remembered. The seventeen regions ship loaded.

III

Schedules & rest days

Philippine shift patterns rarely fit one calendar. BaseUp HR models the shift itself, its segments, and the rest days around it — because all three change what an hour is worth.

Employees ▸ HR Management ▸ Work Schedules · Employee Work Schedules · Day-Off Calendar

Split shifts
A schedule can carry morning and afternoon segments as separate lines, each with its own start and end, so a broken shift is one schedule; the gap between the two segments is the break.
Grace period
Minutes of tolerance before a late punch becomes a deduction, set per schedule.
Night-shift flag
Each schedule line declares whether it has night differential, so ND is computed only for shifts that genuinely cross the night window.
Rest days
A schedule line can be flagged as a day-off while still carrying hours — the hours an employee would work if called in — so work on that day is recognised as rest-day work.
Day-off calendar
Named rest days per employee, plus a bulk day-off scheduling wizard to apply a pattern across a group and a period.
Day-off ceiling
A per-contract limit on how many day-offs are allowed inside a payroll period — two by default — checked when day-offs are added to the calendar.
Employee work schedules
Assign a calendar to a set of employees for a validity window, with draft, running and closed states, so a seasonal roster change has a paper trail.
Timezone-aware
Schedules default to Asia/Manila and every computation localises before it counts a day.
IV

Attendance & time capture

Four ways in — kiosk, geofenced device, biometric terminal, or bulk entry by HR — all landing on one attendance record that computes late, undertime, overtime and night differential against the employee's schedule for that day.

Attendances ▸ Attendances · Employee DTR · Pass Slips · Biometric Devices

Capture

Kiosk mode
A token-addressed kiosk page with manual employee selection and badge scanning, patched to show the employee information this module tracks.
Geofenced check-in
Turn on geolocation and a work address becomes a fence: the address is reverse-geocoded into road, village, suburb, city and region fields, and you choose which of those must match — or a straight distance radius in metres.
Branch kiosks
A work address can name its own kiosk user. A shared terminal signed in as that user, with Kiosk Mode Only access, lists only the departments and employees of that branch.
Bulk attendance
A multiple attendance wizard writes attendances for selected employees across a date range or a whole payroll period, with per-weekday toggles and an hour-from/hour-to default.
Pass slips
Official and personal time-out records with destination, duration and remarks, routed through their own draft → confirm → approve flow and picked up by payroll.

What each attendance computes

Late & undertime
Measured against scheduled in and out, after the grace period, with an optional late deduction table that maps a band of minutes to the minutes actually charged.
Worked hours
Check-in to check-out, with the morning and afternoon segments of a split shift recorded as separate attendances.
Night differential
ND hours broken out per date against the ND pay-rate table.PH
Holiday detection
Each attendance links the holidays it falls on, with holiday hours, holiday rate and holiday ND hours stored on the line — including double holidays.PH
Rest-day handling
Work on a declared day-off is recognised as such, so every hour routes to the rest-day premium instead of regular pay.
Payroll period
Stamped automatically, which is what lets a payroll run pull attendance without a date filter.
Suspension block
An attendance cannot be recorded — by hand, at the kiosk or from a biometric import — for a date inside a suspension set on an HR case.

Daily Time Record

The DTR is generated per employee per payroll period and holds one line a day: scheduled in and out, actual time in and out, late, undertime, half-day, absent, ND hours, sick and vacation leave flags, and rest-day flag — plus a second table of the overtime approved for that period. A multiple DTR wizard builds them for a whole group at once, and the DTR prints as a landscape PDF for signature.

Biometric devices

ZKTeco-protocol terminals are supported directly — the device protocol ships inside the module, so there is no external library to install on the server.

Device registry
Machines by IP, port and location, with a try connection button that reports the users it can see, plus synchronise, restart and clear-attendance actions on the device record.
Employee enrolment
Push selected employees onto a device from a wizard; each employee holds their ZK number per machine, so one person can be enrolled on several terminals.
Punch download
Raw punches land in a machine-attendance log with punch type and time, then convert into attendances — on demand, or on the Auto Import Biometric Attendance and Download Attendance schedules.
Review before import
An import wizard lets you see and select which downloaded punches become attendance records.
Field punches
Field Out and Field In punches on the terminal open and close a pass slip for the employee, instead of an attendance.
V

Overtime, night differential & holidays

This is where a Philippine payroll is won or lost. The module treats premium pay as a rate table you can read and audit, not as formulas buried in code.

Overtime ▸ Overtime Requests · Day-Off OT · Holiday OT · Pay Rates Computation

The premium-rate table

Overtime is classified into fifteen types across five groupings, and each type has a row in the Pay Rates Computation table holding a rate percentage, a divisor or multiplier, and the GL debit account to charge. Twenty-three rate rows ship configured, including the night-differential variant of every category.PH

GroupingTypes covered
RegularRegular OT · Regular ND OT
Rest dayDay-off · Day-off OT · Day-off ND OT
Special holidaySpecial holiday · its OT · on a rest day · rest-day OT · rest-day ND OT
Regular holidayRegular holiday · its OT · on a rest day · rest-day OT · rest-day ND OT
Double holidayDouble holiday · its OT · on a rest day · rest-day OT · rest-day ND OT

Each row also accepts a custom rate, for a CBA or company policy more generous than the statutory minimum.

Overtime requests

  • Draft
  • →
  • Submitted
  • →
  • Approved
Automatic classification
From the request's own dates the system resolves the day of week, the employee's scheduled out time, whether the date is a rest day, and which holidays it touches — then splits the hours across the matching rate rows.
Night-diff split
Hours falling in the night window are broken out and charged at the ND variant of the same category.
Break handling
A with break flag deducts a one-hour break from the overtime. It is set automatically when overtime is raised from a rest-day or holiday attendance of nine hours or more.
Minimum OT
A configurable minimum OT threshold, below which a request does not compute.
Raise from attendance
Select attendances and open OT requests for them in bulk; overtime hours flow back onto the DTR and the payslip.
Audit trail
Requests are chatter-tracked, with a bulk state-change wizard, and only draft requests can be deleted.

Night differential

A separate ND pay rate table carries the ND percentage — and a custom rate override — applied to the ND hours the attendance engine detects. ND is summarised per payslip with the hours, the computation used and the resulting rate visible on each line.

Holidays

Three holiday classes
Regular (legal), special, and double holidays, each with its own rate row and its own OT and rest-day variants.PH
Company scoping
Holidays carry the companies they apply to, so a plant-level local holiday does not pay out nationwide.
Exempted employees
A holiday can list exempted employees, who are left out of the paid regular holiday for that date.
Holiday calendar
Holidays are maintained by HR as dated records, each with its type, a double-holiday flag and a note.
Paid regular holiday
A per-contract switch for whether an unworked regular holiday is paid.PH
VI

Leave

Leave is allocated against a fiscal year, drawn down per date, and either paid, half-paid, unpaid or converted to cash at year end.

Leaves ▸ Leave Requests · Leave Allocations · Configuration

Allocations

Paid, unpaid, half-paid
Every leave type declares which it is, plus whether it counts as a leave of absence. Sick Leave, Vacation Leave, Birthday Leave and Leave of Absence ship ready to use.
Fiscal-year allocations
Days allocated per employee per leave type with a validity window, tracking days taken and remaining balance as requests are approved.
Accumulated leave
Optional carry-forward of unused annual leave into the next allocation, switched on in configuration.
Convertible leave
Switched on in configuration, a portion of each allocation can be marked convertible; payroll then converts it to cash on a payslip and records the conversion against the allocation.
Bulk allocation
A wizard allocates several leave types to many employees for a fiscal year in one pass — the annual reset in a single screen.
Validity monitoring
A Leave Allocation: Check Validity job expires allocations past their window.

Leave requests

  • Draft
  • →
  • Submitted
  • →
  • Recommending approval
  • →
  • Approved
  • ·
  • Cancelled

A request expands into one row per leave date, each stamped with its payroll period and marked as it is approved — so a leave spanning a cut-off splits correctly across two payslips instead of landing entirely in one. Requests draw against a named allocation, and the remaining balance is shown as the employee files.

VII

HR cases & discipline

Employee inquiries, complaints and disciplinary matters are kept as numbered cases, from intake to closure. For a disciplinary case, each due-process step — notice, written explanation, decision and acknowledgment — is recorded on the case with its date.

Employees ▸ Case Management ▸ All Cases · Configuration ▸ Case Types · My HR Cases

Case types & intake

Thirteen case types
Employee inquiry, complaint or grievance, leave accommodation, onboarding and offboarding tasks, performance issue, workplace incident, policy violation, harassment or discrimination, tardiness, snack break, meal break and disciplinary action ship ready to use — each with a default priority, an SLA in days, and whether it requires investigation.
Three ways in
A case is opened by HR, referred by a manager, or filed by the employee from the portal; the source is recorded on the case.
SLA & overdue
The due date is set from the case type's SLA, and an open case past its due date is flagged overdue.
Assignment
A case is assigned to an HR specialist before work starts, and the employee's manager is filled in as the reviewing head.
Investigation notes
Notes are typed — investigation, interview, document review, decision, follow-up or general — and kept against the case with their author and date.

Disciplinary due process

  • Draft
  • →
  • Submitted
  • →
  • Assigned
  • →
  • Under investigation
  • →
  • Notice given
  • →
  • Awaiting explanation
  • →
  • Manager review
  • →
  • Final acknowledgment
  • →
  • Resolved
  • →
  • Closed
Notice & acknowledgment
HR gives notice; the employee acknowledges it with a signature, then submits a written explanation.
Manager decision
The manager decides to waive or to proceed with disciplinary action, with notes explaining the decision, and the employee acknowledges the final decision.
Hand-offs
Each step schedules a to-do activity for the next person — the employee, the manager or the assigned HR specialist — so no one has to chase the case.
Resolution
A case is resolved with notes and a resolution type — resolved, not actionable, duplicate, or withdrawn by the employee. Closed cases can be reopened.
Suspension
A resolved case that was not waived requires a suspension type — disciplinary, preventive or investigative — with or without pay, and start and end dates; the days are counted for you.
Suspension on the employee
While a suspension runs, the employee form shows a suspension banner and the employee list a suspended badge, and no attendance can be recorded for those dates.
Printable case
A Print Case PDF produces the case record for the file.

Who sees what

Employees see only their own cases and the notes on them — from My HR Cases in the Employees app or from the portal. HR officers and HR managers see every case in their companies, and the case-type configuration menu is reserved for HR managers. Cases cannot be duplicated, and only draft cases can be deleted.

VIII

Payroll processing

Payroll runs against a payroll period, not a pair of dates typed in by hand. Generate the year's periods once and every attendance, overtime request, leave date and loan instalment files itself into the right one.

Payroll ▸ Payroll Periods · Payroll Registers · Payslips · Payroll Adjustments

Payroll periods

Generated in bulk
A wizard generates weekly or semi-monthly periods for the selected companies in one action — a year's worth by default, 52 weekly or 24 semi-monthly, from the start date you give.
Semi-monthly variants
Choose true 15th-and-end-of-month periods, or nominate two specific cut-off start dates each month.
Per-date settings
Each date inside a period can independently allow or disallow late and undertime charges, with a memo — the mechanism for a company-declared suspension of work.
Quarter awareness
Periods carry a quarter, which the contribution configuration uses to place deductions in the right pay run.

The run

  1. Create a payroll register for a company, fiscal year, payroll schedule and period; the salary journal and cash-in-bank account default in.
  2. Generate payslips for the employees in scope — by explicit selection, narrowed if you like to managers only, or to employees paid through ATM or not.
  3. Compute. Each payslip pulls its attendance, DTR, overtime, night differential, pass slips, leave dates, holidays, loans, canteen charges and recurring adjustments for the period.
  4. Review against the register's own roll-up: total late, undertime, overtime, night differential, premiums, withholding tax, other earnings, other deductions, gross taxable and net.
  5. Confirm, optionally without recomputing, so reviewed figures cannot silently change under you.
  6. Validate the register — posting the journal entry to the salary journal when posting is switched on — which closes it.
  7. Generate the bank document — the disbursement file — from the closed register.
  8. Send payslips by email, as payslip only or payslip with DTR attached.
  • Draft
  • →
  • Confirmed
  • →
  • Closed
  • ·
  • Cancelled
  • ·
  • Refunded

What a payslip shows

BlockLines
Worked timeRegular worked days · paid leave · vacation and sick leave with amounts · unpaid leave and absences · half-days
Time chargesLate · undertime · each with hours and amount
Premium payOvertime hours and amount, itemised by rate category · night differential hours and amount, itemised per date
EarningsBasic pay · COLA · other taxable · other non-taxable earnings · 13th month · leave conversions
StatutorySSS employee and employer · SSS MPF employee and employer · PhilHealth both shares · Pag-IBIG both shares · withholding taxPH
Other deductionsLoan instalments · canteen charges · recurring and one-off adjustments
TotalsTotal employee premiums · gross taxable · net pay

Payslips carry a generated barcode, an overtime summary table, a leave summary table and a night-differential summary table, all of which print on the payslip PDF.

Special runs

13th month pay
Flag the register as a 13th month release and nominate exactly which payroll periods form the computation base.PH
Final pay
A final-pay flag on the payslip for separating employees, which changes how the period's entitlements are settled.
Year-end tax adjustment on final pay
A final-pay payslip adds up the taxable income and tax withheld from the start of the fiscal year to the contract end date, computes the tax due from the BIR annual tax table, and shows the difference as a tax refund or tax payable.PH
Leave conversion run
Mark the register convertible and the convertible portion of each allocation is paid out and recorded against the allocation.
Refunds
Refund a register or a single payslip and the system produces credit-note payslips, excluded from every total so the originals still reconcile.
Payroll archives
Historic payroll retained in an archive model, kept out of the live register list.

Controls you can set

  • Confirm without recomputing — default on, so confirmation is not a silent recalculation.
  • Allow cancelling confirmed payslips — off by default; turn it on only if your process needs it.
  • Allow editing payslip lines — off by default, for sites that want computed figures to stay computed.
  • Taxable overtime — whether OT enters gross taxable.PH
  • Pag-IBIG maximum limit — the contribution cap applied at computation.PH
  • Leaves with positive values — how leave days and hours are signed in worked-days reporting.
  • Exclude premiums from gross taxable — set per contract.PH
  • Include empty payroll variables and include "Received by" — payslip print options, set per company.
IX

Statutory contributions & tax

SSS, PhilHealth and Pag-IBIG tables are held as circulars — each a versioned record with an effectivity date and a draft, activated or expired state. When an agency issues a new circular you add it, date it and activate it, and the previous one expires — you do not wait for a software release. Withholding tax and the annual tax table are kept as bracket tables you can edit.PH

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

TableBracketed byHolds
SSSMonthly salary rangeRegular SS employee and employer rates, EC employer share, MPF employee and employer rates, with all totals computed. Ships with the Circular 2024-006 schedule loaded.
PhilHealthMonthly salary rangePremium rate percentage and the resulting monthly premium, split equally between employee and employer. Ships with Circular 2019-0009 loaded.
Pag-IBIGMonthly salary rangeEmployee and employer rate, as a percentage or a fixed amount, with a configurable maximum limit. Ships with Circular No. 460 loaded.
Withholding taxPayroll schedule × compensation rangePrescribed withholding tax and tax-on-excess percentage, with separate bracket sets for daily, weekly, semi-monthly and monthly payroll. Twenty-four bracket rows ship loaded.
Annual taxAnnual taxable incomePrescribed tax and rate on the excess, per the TRAIN Law (RA 10963). Six brackets ship loaded; used for the year-end tax adjustment on final pay.

Deduction scheduling

A premiums and tax configuration record decides, per payroll schedule, when each contribution is actually deducted — first half, second half, both halves, or nominated quarters of a weekly cycle — and whether the premium is computed on the basic wage or on basic pay. Contracts can override the computation basis per employee, and each of SSS, PhilHealth and Pag-IBIG can be switched off or set to a fixed amount on an individual contract.

BIR Form 2316

Annual certificates of compensation payment and tax withheld are generated per employee for a nominated year and period.PH

Printing: Employees ▸ Employees ▸ open an employee ▸ ⚙ Print ▸ BIR Form 2316

The report is bound to the employee model, so it appears in the Print dropdown on both the employee form and the employee list view. Select several employees in the list and it produces one PDF per employee in a single run, named BIR_Form_2316_<employee>_<year>.pdf. There is no menu item for the form — the Print binding is the only route.

Data entry: Employee form ▸ BIR Form 2316 tab

Administrator access

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 itself. If your payroll officer needs to prepare 2316s directly, your BaseUp implementer can extend that access.

The output is not a rendered layout — the module fills the official BIR PDF form fields and flattens the result so it is non-editable. The blank government form ships with the module as a template attachment. Most figures are computed from the employee's payslips for the period rather than typed by hand. The form carries the full statutory breakdown the BIR asks for:

  • Employer details — employer type, RDO code, registered and local addresses, signatory name and signature image.
  • Non-taxable — basic salary of a minimum-wage earner, holiday pay, overtime, night-shift differential, hazard pay, 13th month and other benefits, de minimis benefits, employee government contributions.
  • Taxable — basic salary, other compensation, gross taxable compensation, tax due, tax withheld.
  • Previous employer — TIN, name, address, taxable compensation and tax withheld, for mid-year hires.
  • Credits — PERA contributions, the five-percent tax credit, and tax withheld net of credit.
  • Status flags — minimum-wage earner and overseas Filipino worker.
X

Loans, benefits & adjustments

Anything that recurs on a payslip and is not a statutory deduction lives here — company loans, agency loans, canteen charges, allowances and one-off corrections.

Employees ▸ Salary Loans ▸ Loan Requests · Canteen Charges

Employee loans

  • Draft
  • →
  • Submitted
  • →
  • Approved
  • ·
  • Cancelled
Amortisation schedule
Enter the loan amount, the term in months and the payment per payroll, and the instalment lines are laid out across the payment window. Each line is marked paid as the payslip that took it is processed.
Agency loans
A beginning loan amount and reference number carry balances brought over from SSS or Pag-IBIG loans already in progress.PH
Loan ceiling
An optional maximum loanable amount on the employee; a request that would take approved loans past it cannot be submitted.
Running balance
Total paid and remaining balance computed from the instalment lines, visible on the loan and countable per employee from the employee form.
Deduction mapping
Each loan points at the payroll adjustment it deducts through, plus its other-assets and liability accounts, so the payslip line and the journal entry agree.
Chatter-tracked
Loan amount, terms, payment and approval dates are all tracked; duplicating a loan request is blocked outright.

Canteen charges

Numbered meal and store charges per employee per date, confirmed and then recovered on the next payslip, with their own liability and other-assets accounts and an optional journal entry on confirmation.

Payroll adjustments & structures

Adjustment catalogue
Named earnings and deductions, each with its own GL accounts, that become payslip lines. Defaults for payroll, other-assets and liability accounts can be set once in configuration and pushed onto every existing adjustment with one button.
Recurring structures
Per-employee structure lines attach an adjustment to a contract so it appears on every payslip until it is marked done — the mechanism for allowances, uniform deductions and staggered recoveries. Lines can be opened, closed and bulk state-changed.
One-off compensation
A compensation adjustment records a single earning or deduction on a date against a contract, consumed by the payslip covering that date.
Rice allowance
A dedicated computation for the rice-subsidy benefit.PH
XI

Payroll accounting

Payroll posts to the general ledger from the same screen that computed it, using account mappings you set once.

Payroll ▸ Configuration ▸ Settings · Bank Accounts

Salary journal
Resolved per company by name or code, with a guided prompt to create it if it is missing rather than a raw error.
Default account mapping
Cash-in-bank and salaries-and-wages accounts set globally; employees may carry their own salaries-and-wages account where cost centres differ.
Contribution accounts
Employee-credit, employer-debit and employer-credit accounts per contribution — with a separate set for SSS MPF — settable as defaults and applied to every contribution configuration in one action.
Overtime accounts
A debit account per overtime rate category, so premium pay can be tracked separately from base salary, with a one-click default across all categories.
Posting control
Journal entries for payroll registers, loans and canteen charges are each switchable, so you can run payroll before the accounting side is configured.
Bank disbursement file
Generate a fixed-width bank credit file from a register — header with the company account, one line per employee net pay, and a trailer with count and total — attached to the register for upload.
Fiscal years
Payroll registers, payslips and leave allocations are all anchored to an accounting fiscal year.
XII

Reports & documents

Everything a Philippine HR office is asked to produce, printable from the record it belongs to.

DocumentFormatPrinted from
PayslipPDFPayslip or register; emailable, with or without the DTR attached
Daily Time RecordPDF, landscapeEmployee DTR for a payroll period
Payroll RegisterPDF, landscapePayroll register — the full per-employee roll-up
Payroll Register SummaryMS ExcelPayroll register, for finance hand-off
BIR Form 2316PDFEmployee, for a nominated year and periodPH
Certificate of EmploymentPDFEmployee or contract
Employee BadgePDFEmployee — company ID with barcode
Work SchedulePDFA payroll period, filtered by department or employee
HR CasePDFHR case — the case record, for the employee file

Analytical views

  • Payslip report and detailed payslip report — SQL-backed pivot views for slicing payroll across periods, departments and adjustments without exporting.
  • Attendance analysis and work schedule report — grouped attendance and roster views for a period.
  • Overtime, leave and night-differential summaries — held per payslip, so a figure on a payslip can always be traced back to the hours behind it.
XIII

Dashboard & analytics

An HR manager's opening screen: headcount at a glance, then the shape of the workforce behind it.

Employees ▸ Dashboard

Headline counts
Active employees, running contracts and departments, scoped to the companies currently selected.
Headcount by department
Distribution across the organisation, drawn as a chart.
Sex and age profile
Demographic breakdown by sex across age bands.
Civil status
Marital-status distribution.
Employment type
Regular, probationary, project-based and the rest, by count.
Length of service
Tenure bands, computed from the nightly years-in-service job.
Print & theme
The dashboard prints, and follows the light or dark theme of the session.

The organisation chart and Odoo's gamification badges, challenges and goals sit alongside the dashboard in the same app.

XIV

Access profiles & security

Access is set per user from Odoo's own HR, Time Off, Attendance, Contracts and Recruitment rights, plus BaseUp's groups: Employee Own Data and Kiosk Mode Only under BaseupPH, and Officer and Manager under Payroll.

Settings ▸ Users & Companies ▸ Users ▸ BaseupPH · Payroll

AccessSeesCan do
Employee Own DataOwn leave, overtime, loans, attendance, payslips and HR casesFile leave, overtime and loan requests; read own attendance and payslips; open and follow own HR cases.
Kiosk Mode OnlyThe kiosk pageNothing else — the access for a shared terminal login, optionally tied to one branch's work address.
Payroll: OfficerEmployees and contractsImplies HR officer and contract manager rights.
Payroll: ManagerPayroll and its configurationEverything an officer can, plus BaseUp's payroll data — payroll periods, holidays, adjustments and pay structures, premiums and tax tables, payslip analysis and the Excel register export. Payslips and registers themselves follow Odoo Payroll's own access rights.

Creating an Odoo login from the employee form sets access for you: an ordinary employee gets Employee Own Data; an employee flagged HR Manager or Payroll Master gets HR, Time Off, Contracts, Recruitment and Attendance manager rights and Payroll Manager. Menus are permissioned in a final pass after every menu exists.

Self-service

Employees reach their own data in two places. Inside Odoo, Employee Own Data limits leave, overtime, loans, attendance and payslips to the user's own records. On the portal, an Employee entry on the user's home page opens a dashboard with this month's attendance count, pending and approved leave, and the latest attendance and leave records; from there the employee files and confirms pass slips, and under My HR Cases opens a case, acknowledges a notice, submits an explanation and acknowledges the final decision.

XV

Administration

Multi-company

  • Payroll registers, payslips, contracts, leave, loans, canteen charges and adjustments are all company-scoped, and selection lists respect the companies active in the session.
  • Payroll periods and holidays can be shared across several companies at once.
  • The dashboard, contribution configuration and journal resolution all follow the company selector.

Automation

Scheduled jobDoes
Auto Import Biometric AttendanceConverts downloaded device punches into attendance records
Download AttendancePulls new punches from registered ZKTeco terminals
Leave Allocation: Check ValidityExpires allocations past their validity window
Employee: Years in ServiceRecomputes tenure
Employee: Compute AgeRecomputes age
HR Employee Data ExpirationEmails notices for expiring employee IDs and passports

Branding & presentation

  • Page titles and browser tabs show a system name — Baseup HR by default — in place of the product name.
  • A backend theme stylesheet ships with the module.
  • An SMTP From setting fixes the sender address used for outgoing payslips and notices.
  • Company signatory name and signature image are held for certificates and BIR forms.

BaseUp Connect & employee app

Settings ▸ Baseup HR ▸ BaseUp Connect · AI Assistant

Connect to BaseUp
One button links the database to BaseUp and returns a company code, which employees type when they sign in to the BaseUp employee app. Your Odoo must be reachable at a public HTTPS address.
Enable Employee App
Hands BaseUp a service account to work through — either a dedicated user with HR, Time Off, Attendance and Payroll officer rights, which a Settings administrator creates, or an existing internal user.
AI assistant
Once the app is enabled, an assistant for employees can run on Claude, ChatGPT or Gemini using your company's own API key. The key is passed to BaseUp when saved and is not kept in Odoo.
Reconnect
A Reconnect / rotate key action re-links the database and issues a new key — for a reinstall or a copied database.

Guided tours & quality

Twelve in-app guided tours walk a new administrator through employee creation, payroll configuration, payroll period generation, payslip computation (two tours), the payroll register, DTR, leave allocation (single and bulk), overtime configuration, multiple attendance and the chart of accounts. Behind them sits an extensive automated test suite, exercised against every release.

XVI

Requirements & licensing

ItemRequirement
Odoo18.0 Enterprise
Odoo apps requiredEmployees, Contracts, Payroll, Payroll Accounting, Time Off, Attendances, Recruitment, Skills, Expenses with digitisation, Accounting, Sign, Sales, Contacts, Portal, Philippine localisation
Python packagesrequests · sentry-sdk · pypdf or PyPDF2
Biometric libraryNone — the ZKTeco protocol ships inside the module
ChartingChart.js, loaded from CDN for the dashboard
Outbound connectionsHTTPS to the BaseUp license service; to the BaseUp gateway, if BaseUp Connect is used
Error reportingServer errors are reported to BaseUp Labs for support
Default timezoneAsia/Manila
LicenseOPL-1 (Odoo Proprietary License v1.0)
Enterprise edition required

BaseUp HR extends Odoo Enterprise HR applications — payroll, org chart, expense extraction, e-signature and full accounting among them. It will not install on Odoo Community.

Prerequisite · Python libraries

Either pypdf or PyPDF2 needs to be installed on the server — it is what fills the official BIR Form 2316 — and so does sentry-sdk, which the module loads when it starts. Please confirm both with your hosting provider as part of go-live preparation.

License activation

Your license key is validated against the BaseUp license service in two places: once when the module is installed, and then during use. During use a valid result is remembered for 24 hours, and if the license service cannot be reached, a recent valid check keeps the system running for up to 48 hours. The key, and the fingerprint, module name and hostname that come with it, are entered as system parameters before installation. Keep them — they are what every check uses.

Support

BaseUp Labs provides technical support and customisation for this module. For licensing questions, upgrades, or an implementation review, contact your BaseUp Labs account manager.