Skip to Content

Slovenian Tax Addons

English | Slovenščina

License: AGPL-3 Version: 18.0

Prepare Slovenian VAT reports from dated journal-item evidence. Review issued and received registers, reconcile DDV-O contributions, and generate DDV-O, RP-O, PD-O and KIR/KPR exports from the same accounting foundation.

Controlled correction workflows support Tax Date changes and eligible omitted VAT, with review and audit evidence. Exported files are downloaded for your normal filing process; the addon does not submit returns to eDavki.

Table of contents

Documentation

  • User Manual: illustrated invoice dates and export results, register review, reporting and controlled VAT corrections.

  • Technical Guide: implementation and reporting details.

Features

Tax dates and posting

  • Adds Date Received on invoices and Slovenian rules for the shared Tax Date fields on journal entries and journal items.

  • Keeps a selected header Tax Date principal. Incoming document defaults use Date Received, then Fiscal Date, then accounting date. Outgoing document defaults use Fiscal Date, then accounting date. Invoice due date is not a Tax Date source.

  • Allows a header Tax Date on ordinary Slovenian general journal entries and applies it to accountable lines at posting. Generated prepayment entries retain their dedicated date handling.

  • Updates default-following header Tax Dates when draft fiscal or received dates change. Updates default-following journal-item Tax Dates when a draft vendor bill, credit note or receipt changes its received, fiscal or accounting date, while preserving manually different journal-item dates during draft editing.

  • Applies the selected header Tax Date to every accountable line when posting Slovenian invoices, credit notes and receipts, including when reposting a document. Rejects locked selected tax dates without partially posting a batch.

  • Fills eligible draft dates and validates VAT evidence against tax locks during posting.

  • Preserves selected customer credit-note fiscal dates and, when installed, refreshes their fiscal months from those dates. Their Tax Dates follow the selected header Tax Date.

  • Defaults a new invoice reversal's Fiscal Date to its final accounting date, including lock-date adjustments, unless a Fiscal Date is explicitly supplied. Outgoing reversals without an invoice date resolve that date before posting prepares reporting dates; independently selected Tax Dates remain unchanged.

  • Clears copied journal-item Tax Dates when duplicating documents. Slovenian invoice copies default Fiscal Dates from their own accounting dates, rather than inheriting the original's fiscal override. Explicit dates supplied when copying remain authoritative.

  • Protects locked posted tax evidence. Global date initialization selects drafts only; it does not repair posted historical dates.

Registers and reports

  • Provides issued and received invoice tax-register views.

  • Includes posted general journal entries with active VAT-book tag mappings in KIR, KPR, or both, using journal-item Tax Dates and tax-report signs. KPR uses the entry number when no reference is set and the accounting date when no Date Received is set. Generated prepayment entries retain their dedicated reporting rules.

  • Includes VAT-mapped entries without a partner, such as inventory surplus or shortage adjustments, with empty partner details in XML and XLSX exports.

  • Generates DDV-O VAT returns, RP-O recapitulative statements and PD-O Article 76a supply reports, with their PDF/XML workflows.

  • Uses issued-book mappings for RP-O, keeping received-book columns with the same position numbers out of its supply and correction totals.

  • Includes Article 76a advance bases in PD-O on receipt and deducts their settlement from the final invoice period. Reporting uses journal-item or explicitly linked partners when generated entry headers have no partner.

  • Exports charged and deducted VAT and combined KIR/KPR data.

  • Validates KIR/KPR XML against the bundled schema and packages it in ZIP; the same wizard also exports XLSX.

  • Adds DDV-O tax-tag calculation and drill-down to Open Taxes.

  • Uses durable prepayment allocations to represent advances and follow-up invoice amounts without counting the same covered contribution twice.

  • Creates draft tax-period clearance entries from posted tax-account balances.

Corrections

  • Provides Change Tax Date for reviewed, date-only corrections of posted documents, including historical prepayment settlement entries. Posting and fiscal dates, amounts and reconciliations remain unchanged.

  • Requires a Settings Administrator with Accounting Manager access to authorize missing historical dates or tax-locked dates. The native exception is limited to that administrator, expires within one hour and is revoked after use. Ordinary Tax Date writes remain protected; hard locks cannot be excepted.

  • Stores Article 88.b treatment using OBRAVNAVA, OBDOBJE88 and DAVEK88 metadata.

  • Provides a manager-only action for correctly posted output VAT omitted from an earlier submitted return.

  • Provides a separate legacy-prepayment correction wizard with a reviewed proposal, source fingerprint and execution confirmation.

  • Extends the prepayment adjustment-date wizard to update accountable journal-item Tax Dates when the adjustment is reposted.

  • Provides VAT Correction and Internal Document Options as a guidance selector. Its implemented action opens existing correction metadata; the other options are informational and do not create accounting documents.

Configuration

The addon supplies 176 explicit Slovenian KIR/KPR mappings in data/tax_book_defaults.csv. Defaults include triangular supplies, third-country services, EU services at 5%, input VAT tag 4108 and the Article 76a column 9 mappings. Tag 31a04 maps to received column 9 rather than received column 8.a. These book mappings are separate from DDV-O destinations.

Tax defaults belong to l10n_si2. VAT-book reference mapping installation adds missing routes for available tags while preserving disabled mappings and custom destinations. Review the active mappings for the intended company before generating reports.

  • Install with pmis_account_dates, account, l10n_si2, l10n_si_config, account_fiscal_month, account_tax_balance, account_financial_report, report_xlsx and l10n_si_prepayment_invoice.

  • Enable Use Slovenian Accounting for the intended company.

  • Configure taxes, invoice/refund repartition accounts and tags, fiscal positions and fiscal periods.

  • Review mappings from tags to DDV-O boxes and tax-book fields. Installation initializes mappings and eligible draft dates and refreshes existing prepayment reporting allocations where applicable.

  • Accounting users/managers access reports and read-only tax-register rows. Tax-period clearance and omitted-VAT correction require accounting-manager access. Legacy-prepayment correction has Fiscal Operator/Manager ACLs.

  • Assign Fiscal Operator or Fiscal Manager through the SI Taxes selection under Accounting on the user's Access Rights tab. Manager includes Operator permissions.

  • Review the company's Tax Lock Date before posting or correcting VAT evidence.

Usage

Correct a posted document's Tax Date without changing its posting date:

  1. With Accounting Manager access, enable the intended company, open or select posted journal entries, and choose Action > Change Tax Date.

  2. Enter the approved Tax Date and reason, and confirm that the effect on VAT reports and previously filed returns was reviewed. If line dates differ, explicitly confirm their replacement; this action changes every accountable line in the selection to the proposed date.

  3. Click Review Changes and check the old header/line dates against the proposal. Review again after changing any input or source evidence.

  4. Missing historical dates and dates covered by the company or parent Tax Lock Date require a Settings Administrator who also has Accounting Manager access. That administrator must open their own wizard, review it and click Create One-Hour Tax Date Exception. They cannot approve another user's wizard or grant this tool's exceptional correction to an ordinary manager.

  5. Click Apply Tax Date Correction. The whole selection succeeds or rolls back together. Review the entry chatter, journal-item dates and regenerated VAT reports. The exception is revoked after successful application; if the wizard is abandoned it expires within one hour. While active, it is a native user-specific tax-lock exception and can affect other actions by that user.

This does not submit or amend a return, establish tax treatment, or populate Article 88 correction metadata. It changes regenerated historical reports. Use only an approved correction supported by the original evidence; use the separate omitted-VAT workflow when that is the intended reporting treatment. Company lock dates are not changed. Hard locks still block the correction. Other accounting locks or a parent company's tax lock may require separately approved native exceptions; this button creates only the selected company's Tax Return Lock exception.

Prepare invoices and journal entries:

  1. Enter the invoice and accounting dates and, for incoming documents, Date Received.

  2. For an ordinary general journal entry, review its header Tax Date.

  3. Post the document and resolve missing-date or lock errors.

  4. Review the resulting journal-item Tax Dates and tax-register rows.

Generate VAT reports:

  1. Open Accounting > Reporting > Tax Reports.

  2. Select DDV-O Report (VAT calc), RP-O Report (Recap) or PD-O Report (Supplies).

  3. Select the intended company and period, prepare the data, and review the report values and source journal items.

  4. Print or export using the selected report's controls.

Export the registers:

  1. Open Tax Reports > Tax Book Records and review issued/received rows.

  2. Open OBR.,ODB. DDV records export.

  3. Select the year, month range and filing options.

  4. Use Export XML for the ZIP containing validated XML, or Export XLSX for spreadsheet review.

Compare Open Taxes with DDV-O:

  1. Choose Standard tax balance for tax-ID-based amounts with cent precision and standard drill-down.

  2. Choose DDV-O tax-tag amounts for report-tag contributions and DDV-O drill-down. This is the default calculation basis.

  3. Select whether to round to whole euros as filed; this option applies only to DDV-O mode and defaults to enabled.

  4. Compare tax columns with DDV-O tax boxes and base columns with base boxes.

Create a tax-period clearance:

  1. Open Create Tax Period Clearance under Accounting entries.

  2. Select the fiscal-month period, journal and balancing account if needed.

  3. Create the entry and review it in draft.

  4. Post through the normal accounting workflow after review.

The clearance aggregates posted journal items by Tax Date for tax accounts from the journal company's tax repartition lines. It creates an entry dated at period end and does not automatically post or reconcile it.

Correct omitted output VAT

An accounting manager can open Correct Omitted Output VAT from a posted customer invoice, customer receipt, or advance VAT on Receipt journal entry's form header button or Action menu, or from Accounting / Reporting / Tax Reports. The button is shown for eligible posted documents in Slovenian accounting that do not already have correction treatment. It opens the wizard with the current document selected. Use it for a whole document whose VAT was correctly posted but omitted from the submitted return. It is not a correction of accounting amounts or a late input-VAT deduction.

Select the new Tax Date in an open period, the original monthly or quarterly VAT period, the full output VAT amount, and a reason. Review the displayed journal items and confirm that the VAT was omitted and has not already been corrected. For a December 2025 monthly return corrected in August 2026, select an August Tax Date and the original period December 1 through December 31, 2025. The wizard sets OBRAVNAVA=2, OBDOBJE88=12122025, and DAVEK88 to the confirmed VAT amount.

The action changes journal-item tax_date and the three correction metadata fields. It preserves posting state, accounting and invoice dates, accounts, amounts, tax tags, reconciliation, and prepayment links. It records the actual previous Tax Date (including a missing date), new date, affected items, reason, and correction details in the document's internal chatter. A locked original Tax Date is allowed only through this manager-only action; ordinary tax-evidence locks remain enforced. Mixed dates, multiple register rows, partial omissions, and existing correction treatment require separate review.

Regenerated KIR/KPR and DDV-O reports exclude the document from the old period and include it in the new period. Submitted files are not changed. DDV-O XML also groups correction amounts by original VAT period in section V; eDavki calculates interest on submission. No accounting entry for interest is created. Moving a Tax Date preserves the source contribution signs. Correction treatment and original-period metadata do not override tax-tag direction. Incorrect historical metadata needs a separate, evidence-based repair before rescheduling.

FURS guidance: VAT register FAQ, sections 1.56, 1.57, and 1.69.

Invoices with posted settlement applications are also rejected by this action and require separate review.

Review a legacy prepayment correction

  1. Open the legacy-prepayment VAT correction wizard with the required fiscal access.

  2. Select the company and correction date and preview the proposal.

  3. Review the source entries, proposed lines, totals and blockers.

  4. Enter the reason and confirm accountant review before execution.

  5. If the source evidence changes, create a fresh preview before proceeding.

This workflow creates separate correction evidence; it is not the same action as moving an omitted document's Tax Date or backfilling a missing neutralizer in the prepayment addon.

Data model notes

  • account.tax.records.issued and account.tax.records.received are SQL-backed, read-only reporting models.

  • account.tax.ddvo.tag.map maps tax tags to DDV-O boxes; account.tax.book.tag.map maps them to tax-book fields.

  • Current DDV-O contributions use the signed line balance multiplied by tax_tag_invert direction and each individual tag's tax_negate direction. Special signed tax_base_amount contributions use only each base tag's direction: Odoo already normalizes the stored base. Invoice or refund base tags come from the source repartition.

  • Open Taxes balance, balance_regular and balance_refund are tax amounts. Their base_balance counterparts are base amounts.

  • Standard Open Taxes selects through tax_line_id / tax_ids; DDV-O selects through base and tax tags. Different inclusion and rounding rules explain differences between standard tax balances and filed totals.

  • Treatment 1 is ordinary reporting; 2 represents a prior-period correction with interest; 3 represents interest only after the underlying correction is already represented. Treatments 2 and 3 require an eight-digit original-period value and signed nonzero tax amount.

  • The adjustment-date extension implements pmis.prepayment.neutralizer.date._pmis_update_tax_date().

  • Detailed implementation notes are in docs/technical.md.

Reporting evidence

Report contributions follow the source journal items' signs and tax tags, with whole-period decimal rounding. DDV-O selects journal items by Tax Date and excludes items without one. The KIR/KPR SQL views also use fallback dates when a journal-item Tax Date is missing: KIR uses the accounting date; KPR uses the available receipt or accounting date. These fallback values do not populate the missing source dates. Review historical missing dates before comparing reports. The Tax Lock Date protects posted evidence. Use the explicit correction workflows for eligible documents and preserve submitted files when comparing regenerated reports.

The canonical header and journal-item tax_date fields are provided by pmis_account_dates. l10n_si_tax_date is an editable related alias on the journal entry; conflicting values for the alias and canonical field are rejected. The Slovenian extension supplies receipt-date defaults, manual header tracking, line-date propagation, and VAT-lock validation for companies using SI accounting.

Persistent VAT review

Journal Items shows a VAT Review indicator and an Outstanding VAT Reviews filter. Open VAT Review on a flagged item to inspect immutable before/after contributions, DDV-O boxes, metadata, source references and repair execution links. The linked entry, advance payment, application and invoice remain navigable.

Accountants use Record Review Decision to append an explained outcome: pending review, accepted without correction, correction required, or corrected. The server records the reviewer and time. Decisions never change journal items; automated repair execution does not count as accountant acceptance. Accounting read-only users may inspect evidence but cannot decide. Company rules apply to both findings and history. New findings require accounting-manager access.

Findings belong to l10n_si.vat.review and retain a structured snapshot, source links, capture timing and a server-generated evidence hash. Recording the same finding identity and evidence is idempotent; different evidence requires a new analysis revision. The addon stores findings supplied by an authorized caller; normal report generation does not automatically create a VAT review for every item.

l10n_si.vat.review.event stores append-only decisions and maintenance events. A finding is outstanding while pending or requiring correction, unless maintenance has withdrawn it. Withdrawal removes it from the actionable worklist while preserving evidence and accountant decisions. All VAT Review Evidence retains access to withdrawn findings. Repair events record execution separately from the accountant's outcome and require maintenance access.

Known limitations

  • Report generation does not submit filings or modify files already submitted to eDavki.

  • The omitted-VAT action handles an entire eligible document with one register row and one original Tax Date. Partial omissions, mixed dates, existing correction treatment and unsupported document types require separate review.

  • Selecting an informational correction option performs no business action.

  • Date initialization is not a posted-history repair tool. Explicit correction workflows remain subject to their own scope, evidence and period checks.

  • Moving a Tax Date changes the reporting period, not source contribution signs.

  • eDavki calculates submission interest. This addon does not create an accounting entry for that interest.

Bug Tracker

Bugs are tracked on PMISuite Repository Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.

Credits

Authors

Contributors

  • Luxim d.o.o. - Matjaž Mozetič - Odoo version 18 rewrite

Includes Migration from

  • Mentis d.o.o. - Matjaž Kalič - Odoo version 14, SQL base

Maintainers

LUXIM MATMOZ

Current maintainer:

sysadminmatmoz

Luxim is an independent R&D and deployment company focused on solving complex problems in the Odoo ecosystem.

Odoo Community Association

Luxim is an active member of OCA (Odoo Community Association).