Mavera Labs · Odoo 19
12 apps we built for companies running Odoo in Turkey
From e-document management to checks and promissory notes, from 26 banks' account activity to the partner ledger and compliant HR: apps that close the Turkey-specific gaps in Odoo and make it easier to run.
Built for Odoo 19
Every app is developed for the current Odoo 19 release.
Turkish localization
e-Documents, checks and notes, (B)/(A) balance markers and the Turkish chart of accounts.
Automatically tested releases
Every change goes through an install test on Odoo 19.
Install from the UI
Install and update with MVR Git App Link, without logging in to the server.
Apps for accounting and finance, sales, human resources and Odoo administration. Pick one to jump to its details.
Accounting and finance
Turkish e-Invoice, e-Archive, e-Despatch and e-Export documents on one screen
Collects incoming and outgoing e-documents on one mailbox-style screen, tracks their status and posts supplier invoices to accounting. Turkish Revenue Administration (GİB) e-document flows run inside Odoo through the Nilvera integration in Odoo's Turkish localization.
mvr_edocumente-Invoices, e-Archive invoices and e-Despatch notes are listed in a status tree with counters; document type, direction and status are filtered from the side panel.
Basic, Commercial, Export (e-Export), Public, Passenger and HKS profiles are tracked separately.
A draft vendor bill is created from the incoming invoice, and the app tries to match it to open drafts and purchase orders by tax ID, amount and date.
Application responses to commercial invoices are sent without leaving Odoo.
Line-level refunds are created from an approved incoming e-Invoice and sent as an outgoing RETURN-type e-Invoice; previously refunded quantities are deducted automatically.
The XSLT template you upload for e-Invoices and e-Archive invoices is embedded in the UBL XML on sending; the preview PDF is generated from the same template.
Products, quantities, prices, taxes and amounts on vendor bills received from the integrator cannot be edited, so the accounting entry always matches the document.
Incoming documents and statuses are fetched on a schedule; in multi-company setups a wizard assigns documents to the right company.
Accounting and finance
A partner ledger adapted to Turkish accounting practice
Reshapes Odoo's Partner Ledger report the way accounting teams in Turkey are used to reading it: a debit/credit (B)/(A) balance marker, totals that include the opening balance, and the last collection date in one report.
mvr_extract_extendA partner in debit shows 7,600.00 (B) and a partner in credit shows 7,600.00 (A), so nobody has to read negative balances.
For a date range, partner header and total rows include the opening balance; Debit − Credit = Balance on every row.
The partner header row shows the customer's last payment date.
The invoice's general description appears right under the entry number on each line.
In XLSX the balance stays numeric and the (B)/(A) marker goes into its own column, so sums and filters work in Excel.
The report asks for a partner first instead of loading every partner.
Each behaviour can be switched off in Accounting settings. Trial Balance, Balance Sheet, P&L and General Ledger are untouched.
Sales
An advanced quote manager for software and consulting firms
Builds project quotes independently of sales orders. With a scope and effort table, price lines with notes and a PDF or Word export with a cover page, quotes are customer-ready without leaving Odoo.
mvr_offerextendA separate Project Quotes screen under Sales that leaves your order flow untouched.
Each quote is linked to its CRM opportunity so the sales team follows it from there.
Consulting scope is laid out as module, description and estimated effort (man-days) lines.
Notes under lines, negative discount lines and info lines excluded from the total; the grand total is computed automatically.
A branded PDF and an editable .docx with cover page, introduction, scope, pricing, terms and reference logos.
Fixed labels in the export follow the quote language, Turkish or English.
Draft, Sent, Accepted and Rejected states; numbering such as TKL/2026/0001, message history and activities.
Accounting and finance
Account activity from 26 Turkish banks on one screen in Odoo
The Odoo version of FINEKSTRE. All activity on your accounts at 26 banks in Turkey is collected automatically by the FINEKSTRE infrastructure, accumulates on one screen in Odoo, and the transactions you select become journal entries.
mvr_finekstreEvery bank in one list, organised by bank, account and transaction; no more logging in to each bank portal.
Amount, running balance, transaction and value dates, reference, description, IBAN and MT940 code side by side.
Transactions for any date range are pulled into Odoo in one step.
A transaction is matched to a partner, and a journal entry with the bank and partner accounts is created and posted.
Select several transactions and post them at once; a transaction already turned into an entry is never posted twice.
Transactions are posted to the right journal per company and currency.
Productivity and workflow
One-click access to the Odoo screens you use most
Star the screen you are on from the top bar and reach your favourites in one click or with Ctrl+K, without digging through menus.
mvr_fav_appsList, form or kanban, the current screen is added to or removed from favourites in one click.
The dropdown lets you search, remove and manage favourites.
Your favourites are listed under their own heading as soon as the command palette opens.
Each user only sees their own favourites.
The same screen cannot be added twice for the same user.
No external packages; it runs on Odoo's core modules only.
Administration and developer tools
An advanced role manager that puts access control behind one role
Ties the right to change user, group and company permissions to a dedicated "User and Access Management" role. Other administrators keep working in Settings but cannot change permissions, and role assignment happens in one place.
mvr_general_settingsUser and access management is separated from general admin rights and granted only to this role.
Admins without the role cannot create or delete users or change groups, company access, record rules or access rights.
An admin with access to one company cannot add another company to themselves.
Passwords, logins and emails of sensitive users cannot be changed without the role.
Own profile, password, language and company settings keep working as usual.
The role is assigned with one line on the user's Groups screen; the main admin gets it automatically on install.
Only this role can uninstall the module.
Administration and developer tools
Install Odoo modules from GitHub, GitLab and Bitbucket in the UI
Installs Odoo modules from a Git repository through the Odoo interface, without logging in to the server, and keeps them up to date. When a new version lands in the repository, it downloads it and updates the module itself.
mvr_git_addonEnter the repository URL, branch, module path and an access token if needed; the module is downloaded and installed.
Public and private repositories on all three popular Git services are supported.
The repository is checked every 15 minutes; when there is a new commit, the module is downloaded and updated.
Modules with Python code are installed too, not just view files.
Private repository tokens are never embedded in the URL; they are sent in the request header and masked in logs.
Pilot (canary) and stable branches are tracked separately; "Force pull" updates immediately when needed.
Every install and update is kept as a separate record.
Administration and developer tools
Run Python from the Odoo interface without server access
Write and run scripts for bulk data fixes, one-off migrations or checks from the Odoo interface. No SSH or server access is needed, and every run is logged. Designed for trusted administrators only.
mvr_run_scriptHidden from the main menu; open it from the command palette with "Run Code".
Scripts are saved and can be run again whenever needed.
env, model and log() are available in every script, so you work with Odoo records directly.
Code runs through Odoo's server action engine with safe_eval; no raw exec or eval.
A successful run is committed automatically; on error every change is rolled back.
Every run is written to its own record together with its output.
The access group is empty by default; only administrators added manually can use it.
Accounting and finance
Automatic, multi-level balance reminders for overdue receivables
Sends customers with overdue receivables a series of reminder emails with their account statement attached as a PDF, and sends management a daily summary of open balances.
mvr_statement_reminderReminders begin once the customer's first unpaid invoice is past due.
Level 1, Level 2 and general templates, repeating every 5 days.
Each email carries an open-receivables statement calculated on a FIFO basis.
Statement balance, next reminder date and a manual send button on the customer form.
Accounting reports include to-do and done reminders plus a summary dashboard.
A table of open balances goes to the company's admin email every day.
If the follow-up date on the partner is in the future, the reminder waits, so customers do not get duplicate emails.
Accounting and finance
Check and promissory note management adapted to Turkey
Adapts Odoo's check framework to Turkish check and promissory note practice: portfolio accounts, status tracking and Turkish chart of accounts mapping familiar to Logo, Netsis and Mikro users, inside Odoo.
mvr_tr_checksCustomer checks, own checks and promissory notes are tracked as separate document types.
In portfolio, in collection, in guarantee, endorsed, bounced, protested, returned, collected and paid.
Portfolio, collection and guarantee accounts, account groups and the physical location where checks are kept.
If the matching Turkish account codes exist, check and note journals are created from settings in one click.
Serial number, bank and branch, account number, IBAN validation, drawer, principal debtor, endorser list, place and date of issue.
Days to due and overdue items are listed; each account shows its total amount and nearest due date.
Account visibility by group, negative balance warning or block, rate type, currency lock and analytic business unit.
Productivity and workflow
Design approval and business workflows in Odoo without code
Defines multi-step approvals and workflows for purchases, invoices, expenses, leave requests and other Odoo records. Who approves, under which conditions and in which order is set up once and applied the same way to every record.
mvr_workflowsDefine flows for purchase orders, invoices, expenses, leave requests or your own models.
Steps run in sequence or in parallel; the next step waits until the previous one is done.
Different approval paths by amount, company, department or product category.
The next approver gets an email and an Odoo activity.
A delegate steps in when the approver is away; overdue steps move up to the next manager.
Records cannot be confirmed, and key fields cannot change, until approval is complete.
Who decided what and when is kept in the record's history.
Human resources
Human resources module aligned with Turkish labour law
Written from scratch for Turkish legislation and runs on Odoo 19. Employee records, leave, timesheets, payroll, severance and notice pay, and social security filings live in one module.
mvr_hrmEvery detail of the employee on a single card.
Automatic entitlement, requests and an approval flow.
Monthly timesheets, overtime and shift planning.
Gross to net and net to gross, with social security and tax calculations ready.
Recurring items flow into payroll on their own.
Exit calculations on one screen.
Declaration tracking and the monthly premium service list.
Sensitive information is visible only to the HR team.
No extra licence; it runs alongside the Odoo you already have.
Fast go-live, a Turkish interface and support.
Each app lives in its own Git repository and goes through the same release process.
01
Every change goes through linting, a manifest check and an install test on Odoo 19.
02
A version that passes goes to the pilot (canary) channel first, then to the stable channel after sign-off.
03
With MVR Git App Link, modules are installed and updated from the Odoo interface without logging in to the server.
04
Customisation to your processes, training and ongoing support from our Odoo consulting team.
FAQ
The apps are built for Odoo 19, and every release goes through an automated install test on Odoo 19. Some depend on Odoo Enterprise modules and therefore require Enterprise; each app's requirements are listed in its section.
MVR E-Document, MVR HRM, MVR Favs, MVR Advanced Settings, MVR Git App Link, MVR Run Script and MVR TR Checks run on Community. MVR Extract Extend, FINEKSTRE and MVR Statement Reminder require Enterprise.
MVR E-Document works through the Nilvera integration in Odoo's Turkish localization. Enter your Nilvera API key in Odoo's accounting settings; no Enterprise licence is needed.
They share the same infrastructure. FINEKSTRE collects account activity from 26 banks; the Odoo app shows that activity on one screen in Odoo and turns it into journal entries. For CANIAS ERP and SAP users, FINEKSTRE runs embedded in their ERP.
Once MVR Git App Link is installed, the other apps are installed and updated from the Odoo interface. Git App Link itself needs to be added to the server once; we take care of that during setup.
Yes. The team behind these apps also works on Odoo consulting projects and adapts fields, reports, approval rules or integrations to your needs.
Contact
Let's work out which apps fit your business; get in touch for a demo and setup.
Istanbul · Zaim Teknopark