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
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.
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.
| Setting | Options | What it drives |
|---|---|---|
| Wage type | Daily · Monthly · Hourly | Which formula computes basic pay, and whether daily pay is derived from the monthly wage. |
| Factor days | 26.0833 default | Divisor converting a monthly wage to a daily rate. |
| Payroll schedule | Weekly · Semi-monthly · Monthly | Which payroll periods the employee appears in, and the withholding-tax bracket set used. |
| Premium divisor | 1 · 2 · 4 ×/month | How often SSS, PhilHealth and Pag-IBIG are deducted; auto-set from the payroll schedule. |
| Working days a year | 261 · 313 · 395 | The paid-days basis — five-day week, six-day week, or every day including rest days and holidays. |
| Classification | Rank & file · Supervisory · Managerial | Reporting segmentation and premium-pay eligibility. |
| Computation switches | Late · Undertime · OT · W-Tax · ND · Holiday | Each can be turned off per contract, so a manager on fixed pay is not docked for a late punch. |
| Variable work schedule | On / off | Flexible staff are paid on total worked hours instead of scheduled in and out times. |
| Guaranteed wage & commission | Off by default | Both 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.
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/Manilaand every computation localises before it counts a day.
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.
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.
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.
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
- Create a payroll register for a company, fiscal year, payroll schedule and period; the salary journal and cash-in-bank account default in.
- 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.
- Compute. Each payslip pulls its attendance, DTR, overtime, night differential, pass slips, leave dates, holidays, loans, canteen charges and recurring adjustments for the period.
- 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.
- Confirm, optionally without recomputing, so reviewed figures cannot silently change under you.
- Validate the register — posting the journal entry to the salary journal when posting is switched on — which closes it.
- Generate the bank document — the disbursement file — from the closed register.
- Send payslips by email, as payslip only or payslip with DTR attached.
- Draft
- →
- Confirmed
- →
- Closed
- ·
- Cancelled
- ·
- Refunded
What a payslip shows
| Block | Lines |
|---|---|
| Worked time | Regular worked days · paid leave · vacation and sick leave with amounts · unpaid leave and absences · half-days |
| Time charges | Late · undertime · each with hours and amount |
| Premium pay | Overtime hours and amount, itemised by rate category · night differential hours and amount, itemised per date |
| Earnings | Basic pay · COLA · other taxable · other non-taxable earnings · 13th month · leave conversions |
| Statutory | SSS employee and employer · SSS MPF employee and employer · PhilHealth both shares · Pag-IBIG both shares · withholding taxPH |
| Other deductions | Loan instalments · canteen charges · recurring and one-off adjustments |
| Totals | Total 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.
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
| Table | Bracketed by | Holds |
|---|---|---|
| SSS | Monthly salary range | Regular 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. |
| PhilHealth | Monthly salary range | Premium rate percentage and the resulting monthly premium, split equally between employee and employer. Ships with Circular 2019-0009 loaded. |
| Pag-IBIG | Monthly salary range | Employee and employer rate, as a percentage or a fixed amount, with a configurable maximum limit. Ships with Circular No. 460 loaded. |
| Withholding tax | Payroll schedule × compensation range | Prescribed 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 tax | Annual taxable income | Prescribed 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
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.
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
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.
Reports & documents
Everything a Philippine HR office is asked to produce, printable from the record it belongs to.
| Document | Format | Printed from |
|---|---|---|
| Payslip | Payslip or register; emailable, with or without the DTR attached | |
| Daily Time Record | PDF, landscape | Employee DTR for a payroll period |
| Payroll Register | PDF, landscape | Payroll register — the full per-employee roll-up |
| Payroll Register Summary | MS Excel | Payroll register, for finance hand-off |
| BIR Form 2316 | Employee, for a nominated year and periodPH | |
| Certificate of Employment | Employee or contract | |
| Employee Badge | Employee — company ID with barcode | |
| Work Schedule | A payroll period, filtered by department or employee | |
| HR Case | HR 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.
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.
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
| Access | Sees | Can do |
|---|---|---|
| Employee Own Data | Own leave, overtime, loans, attendance, payslips and HR cases | File leave, overtime and loan requests; read own attendance and payslips; open and follow own HR cases. |
| Kiosk Mode Only | The kiosk page | Nothing else — the access for a shared terminal login, optionally tied to one branch's work address. |
| Payroll: Officer | Employees and contracts | Implies HR officer and contract manager rights. |
| Payroll: Manager | Payroll and its configuration | Everything 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.
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 job | Does |
|---|---|
| Auto Import Biometric Attendance | Converts downloaded device punches into attendance records |
| Download Attendance | Pulls new punches from registered ZKTeco terminals |
| Leave Allocation: Check Validity | Expires allocations past their validity window |
| Employee: Years in Service | Recomputes tenure |
| Employee: Compute Age | Recomputes age |
| HR Employee Data Expiration | Emails 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.
Requirements & licensing
| Item | Requirement |
|---|---|
| Odoo | 18.0 Enterprise |
| Odoo apps required | Employees, Contracts, Payroll, Payroll Accounting, Time Off, Attendances, Recruitment, Skills, Expenses with digitisation, Accounting, Sign, Sales, Contacts, Portal, Philippine localisation |
| Python packages | requests · sentry-sdk · pypdf or PyPDF2 |
| Biometric library | None — the ZKTeco protocol ships inside the module |
| Charting | Chart.js, loaded from CDN for the dashboard |
| Outbound connections | HTTPS to the BaseUp license service; to the BaseUp gateway, if BaseUp Connect is used |
| Error reporting | Server errors are reported to BaseUp Labs for support |
| Default timezone | Asia/Manila |
| License | OPL-1 (Odoo Proprietary License v1.0) |
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.
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.