BAS to Odoo: move payroll first, then change the ERP

Replacing BAS or 1C with Odoo takes a medium-sized Ukrainian business 16 to 24 weeks to go live with the core system, plus 4 to 8 weeks of stabilisation. Moving payroll into Odoo as well adds a second phase that runs to week 32 or later and 300 to 550+ hours of your own team’s time.

APEX AV takes a different route: move payroll first, then change the ERP. You outsource payroll to us, and HR administration too if you wish, before the Odoo project starts. Our payroll platform, APEX Cache, is compatible with 1C/BAS, so it runs inside your current system environment from the first month. When you go live on Odoo, APEX Cache switches its postings to Odoo on cut-over day, without delay and without a payroll implementation project.

The figures below come from an implementation review of BAS-to-Odoo projects for a typical Ukrainian company: one legal entity, one main BAS database, a wholesale or service business, 10 to 40 Odoo users and no complex manufacturing. One disclosure: we are a payroll outsourcing provider, so we benefit if you choose that route. The numbers are the review’s, not ours, and they leave out one large task that makes the real saving bigger. More on that below.

16–24weeks to core Odoo go-live
450–850internal hours with HR and payroll outsourced
750–1,400+internal hours with payroll moved into Odoo
300–550+internal hours saved by outsourcing payroll

The timeline: payroll moves before the project, not inside it

A sensible migration is phased by business function. Finance and master data form the foundation; sales, purchasing and stock go live on top of them. The review treats payroll and HR as a separate, controlled workstream, because salaries, taxes and filings cannot pause while a new ERP settles in. With APEX AV that workstream is set up and running before the Odoo project begins.

BAS-to-Odoo project plan, by week

Odoo project in navy, go-live in orange, the payroll phase you avoid in red hatching. APEX AV starts in the grey zone, before the project.

Odoo projectGo-live and APEX AV payrollPayroll history cleanupStabilisationAvoided with APEX AVAPEX Cache switches to Odoo
Odoo phases and weeks come from the review, for a medium-complex business. The grey “before the project” zone is not to scale: how long onboarding to APEX AV takes depends on your payroll, and it finishes before the Odoo project starts.

The order matters. By the time your Odoo partner starts discovery, payroll is already running on APEX Cache inside your 1C/BAS environment, the payroll history has been cleaned up, and every gap is on record. The Odoo project then has no payroll build: no payroll design, no statutory test scenarios, no employee-history conversion. What remains is a monthly payroll journal for Odoo to receive.

On cut-over day, APEX Cache stops posting payroll to 1C/BAS and starts posting it to Odoo. The payroll calculation itself does not change, so no one gets a late or wrong salary while stock or invoicing is still settling down. The alternative, moving payroll into Odoo, adds at least eight weeks of project after go-live, starting in week 20, exactly when your team is still fixing the issues that surface after launch.

Function by function: where payroll fits

The review sequences each business function by risk. Payroll and HR administration are the two where a specialist route takes most of the work out of the Odoo project.

FunctionWhen it goes liveYour team’s effortMain BAS risk
Company structure and access rightsFirstLow to mediumWrong access design creates control and confidentiality risks
Master dataFirstHighDuplicate counterparties, inconsistent product codes, units, VAT fields
Sales and CRMEarlyMediumCustom quotation and pricing logic in BAS
PurchasingEarlyMediumInformal approvals and undocumented exceptions
Inventory and warehouseEarly or first waveHighWrong opening stock by product, location, batch or serial number
Finance and accountingFirst wave, after design validationHighChart-of-accounts mapping, VAT, historic corrections, opening balances
E-documents and PRROBefore go-live, if needed operationallyMediumProvider API limits, document formats, tax and document timing
Manufacturing, service, projectsSecond wave unless essentialHighHeavy BAS customisation, informal production processes
BI and historical reportingUsually second waveLow to mediumFull history migration delays go-live
HR administrationAPEX AV route: outsourced before the project (optional); Odoo can add a light HR layer laterSeparate, can run in parallelMedium in OdooSensitive data, incomplete employee records, legal document history
PayrollAPEX AV route: on APEX Cache before the project; switches from 1C/BAS to Odoo at cut-overKeep outside Odoo initiallyMedium for interfaces; high if moved into OdooStatutory compliance, payroll continuity, historical calculations, tax reporting
A phased launch reduces the number of high-risk variables at cut-over. A common first deployment is finance, purchasing, sales and inventory; manufacturing, extended analytics and non-essential custom workflows follow once the core is stable.

“Localisation installed” is not “statutory process proven.” Odoo’s app store has Ukrainian modules for HR administration, contracts and salary calculation, but each implementation must still prove the exact payroll, tax, leave, sick-leave, reporting, e-document and PRRO scenarios the company uses. With APEX Cache that proof already exists, month after month.

Your team’s hours: where the saving comes from

The implementation partner’s hours are billed separately. What companies underestimate is the time their own people spend: deciding, checking data, testing and learning. The review estimates it as follows.

Internal hours by scenario

Your own team’s time, excluding the implementation partner.

Outsourcing payroll saves 300–550+ internal hours compared with building payroll into Odoo. Complex projects (several companies, manufacturing, many integrations or poor BAS data) reach 1,200–2,500+ hours, and the payroll share grows with them.
Assumes one legal entity, one BAS database, 10–40 users and no complex manufacturing. Even within the first wave alone, the review estimates that outsourcing removes 100–300+ internal hours.

The most underestimated workload is data ownership. An implementation partner can extract and load records, but only your people can confirm whether a counterparty is still active, a product code is valid or a warehouse balance is real. Every function you keep out of the project is one less set of records your team has to vouch for.

Who carries the load

Most roles need the same time whichever way payroll goes. The difference sits with the person who owns HR and payroll: with payroll outsourced they review an interface and validate data; with payroll in Odoo they help design, test and prove a new payroll engine.

Internal hours by role

HR and payroll outsourced to APEX AV, except where marked.

RoleWhat they doHours
Executive sponsorScope decisions, priorities, go-live authority20–40
Internal project leadWeekly coordination, approvals, issue log, cut-over120–220
Finance lead / chief accountantChart of accounts, taxes, opening balances, month-end, testing80–160
Warehouse leadProducts, locations, opening stock, counts60–140
IT / systems administratorAccess, hosting, security, integrations, cut-over30–80
Sales leadSales workflow, pricing, customer data, testing30–70
Procurement leadSupplier workflow, approvals, open orders, testing25–60
HR / payroll owner, with APEX AVEmployee master data, HR documents, payroll interface25–70
HR / payroll owner, payroll moved into OdooPlus payroll design, statutory testing, parallel runs100–220
Plus 15–40 hours per key user and 4–12 hours per end user for training and testing, in both scenarios. The bars share one scale, from 0 to 250 hours.

The HR/payroll owner alone saves 75 to 150 hours. The rest of the 300–550+ hours is spread across the team: fewer payroll test scenarios for key users, fewer data fields to migrate and reconcile, fewer decisions about who may see salary data, and a shorter project for the project lead to run. Because APEX Cache already sends payroll postings to 1C/BAS before the project starts, the payroll side of the interface is running before your Odoo partner arrives; at cut-over only its destination changes.

What those hours cost you

Internal hours are not free: they come out of people who also have a business to run. Enter what an hour of your team’s time costs you, including taxes and overheads, to see the scale.

ScenarioInternal cost, UAH
HR and payroll with APEX AV (450–850 h)–
Payroll moved into Odoo (750–1,400+ h)–
Saved by outsourcing (300–550+ h)–
UAH 600 is an example, not a benchmark. The calculation covers your own team’s time only; implementation-partner and payroll-localisation fees come on top in the in-Odoo scenario, and our outsourcing fee in the other.

Not in these numbers: cleaning up payroll history

The review’s hour estimates do not include cleaning up historical payroll data for a transfer from 1C/BAS to Odoo. That is a sizeable task in its own right, and it is one more reason the real saving is larger than 300–550 hours.

Payroll history is not optional. Ukrainian average-earnings rules need the past twelve months for every holiday and sick-leave payment. Leave balances, indexation bases, dismissal calculations and auditors’ questions all reach back into history that sits in BAS.

If payroll moves into Odoo, your team has to export that history, check it and fix it before the new system can calculate correctly. Typical gaps in 1C/BAS payroll data:

  • Employee records with missing or outdated positions, contract types or employment status.
  • Personnel orders that exist in BAS but were never signed, or signed orders that never reached BAS.
  • Leave balances that do not match the orders and timesheets behind them.
  • Earnings history that does not reconcile to the ЄСВ and ПДФО reports already filed.
  • Manual corrections and one-off payments with no explanation attached.

With APEX AV this work happens on our side, while you are still on 1C/BAS and before the Odoo project starts. We take the payroll data out of 1C/BAS, reconcile it against your filed reports, record every gap in a register with an owner and a deadline, and run the first month in parallel before anything switches over. The cleaned history stays in the APEX Cache archive, so it never has to be migrated into Odoo at all. Your team answers questions; it does not do the cleanup.

Who else the project needs

An Odoo migration is not a one-vendor job. The review lists the specialists a typical project draws on; with APEX AV, the payroll line is covered before the others start.

ProviderWhat they doWhen
Odoo implementation partnerDiscovery, design, configuration, development, migration, testing, go-live, hypercareThroughout
Ukrainian accounting and localisation specialistValidates tax, VAT, postings, reports, statutory workflows and print formsDesign, testing, month-end rehearsal
Payroll and HR outsourcing providerAPEX AVPayroll continuity, statutory calculations, HR administration, filings, payroll reports, employee-data interfaceFrom before the project; especially at cut-over
BAS/1C technical specialistData extraction, custom fields, transaction logic, reports, archive set-upDiscovery to final migration
Data migration specialistExtraction, cleansing rules, import templates, reconciliation reportsWeeks 5–18
Integration developerBank, e-documents, PRRO, Nova Poshta, marketplaces, CRM, BI and API connectionsWeeks 7–16
Hosting / DevOps providerOdoo.sh or server deployment, monitoring, backups, disaster recoveryBefore testing and launch
Cybersecurity or data-protection adviserRoles, multi-factor login, access reviews, personal-data handling, retentionDesign and pre-go-live
Training and change managementKey-user materials, procedures, end-user sessions, hypercare support deskTesting to stabilisation

Who owns what after go-live

Outsourcing payroll does not mean Odoo is blind to people costs. Odoo becomes the operational ERP and finance platform; we remain responsible for payroll compliance and HR administration; BAS stays as a read-only archive.

AreaOdooAPEX AV
Departments, jobs, managersSystem of recordReceives approved changes
Hiring and onboardingWorkflow and tasksStatutory employment records and documents
Leave requests, timesheetsCaptures and approvesLegal calculation and balance check
Payroll calculation, taxes, filingsNot neededCalculation, submission, compliance ownership
Payroll postings, cost allocationReceives the monthly journalAPEX Cache sends a validated posting file or API feed: to 1C/BAS before cut-over, to Odoo after
Payslips and salary questionsOptional laterPrimary channel

Each month Odoo receives only what finance and management need: employee identifier, department, position, cost centre and status; approved absence data where it matters operationally; payroll postings summarised by entity, account, cost centre or project; payroll liabilities and payment totals; and, if you want it, payroll budget against actuals.

A cut-over that leaves payroll alone

  1. Freeze BAS transactions at the agreed cut-off time.
  2. Load opening balances, stock, open receivables and payables, and active documents into Odoo.
  3. Keep BAS available as a read-only archive.
  4. Switch APEX Cache’s payroll postings from 1C/BAS to Odoo. The payroll engine and the payroll team stay the same.
  5. Start working in Odoo the next business day.
  6. Receive the validated monthly payroll journal and approved HR changes in Odoo, by file import or API.
  7. Consider Odoo payroll only after two to three stable payroll cycles, a compliance review and a signed parallel-run reconciliation.

Our recommendation

Start with payroll. Move payroll, and HR administration if you want, to APEX AV while you are still on 1C/BAS, and let us clean up the payroll history in that phase. Then run the Odoo project for sales, purchasing, inventory, finance, banking, master data and essential integrations, with no payroll workstream. Add a light Odoo HR layer only where it helps day-to-day work: directory, organisation chart, leave approval, onboarding tasks and timesheets. On cut-over day, APEX Cache switches to Odoo and payroll carries on as before.

Planning a move off 1C or BAS? Start with payroll. We take it over while you are still on 1C/BAS, clean up the history, and switch our postings to Odoo on cut-over day, so your Odoo project only has to receive a monthly payroll journal.

Discuss your payroll transition1C/BAS replacement

Sources used by the review: Odoo implementation methodology (odoo.com); Odoo implementation timeline guides from Netlinks, Octura Solutions, Ecosire and Enersys; Ukrainian HR and payroll modules on the Odoo Apps store. Hour figures are planning ranges, not quotes.

This is the general position. Yours will have specifics.

Thirty minutes on a call and we can tell you which parts of the above actually apply to your company, what getting them wrong would cost, and what we would do about it. No slides, no obligation, and we will say so if you do not need us.

Scroll to Top
Українська