Tax Reports
Tax Reports
Generate Slovenian tax report exports, including combined KIR/KPR and yearly eDavki filings.
Generate combined KIR/KPR VAT ledgers
/tax-reports/kir
Generate one combined FURS filing containing KIR (Evidenca obračunanega DDV) and KPR
(Evidenca odbitka DDV).
The ZIP contains exactly one DDV_KIR_KPR.xml file. KIR includes applicable finalized issued invoices,
outgoing advance invoices, credit notes, and self-assessed VAT from applicable received invoices. KPR includes finalized,
non-voided received invoices from the expense register. Both ledger containers are present even
when a period has no applicable records, as required for a joint eDavki submission.
Period Selection:
- Use month for monthly exports (e.g., month=1 for January)
- Use quarter for quarterly exports (e.g., quarter=1 for Q1)
- Cannot use both month and quarter
Transaction Type Mapping:
- Domestic sales → KIR P7 + P14/P15/P16, or P8 for supplier-side domestic reverse charge
- Intra-EU B2B sales → KIR P10
- Intra-EU B2C → P7 + P14/P15/P16 (standard VAT)
- Goods exported from Slovenia → KIR P7
- Third-country services / supplies whose place is outside Slovenia → KIR P27
- Domestic purchases → KPR P8, or P9 for domestic reverse charge
- Intra-EU goods/services → KPR P10/P11 plus self-assessed KIR VAT
- Deductible input VAT → KPR P18/P19/P20; non-deductible VAT → KPR P17
Credit Notes:
- Included with negative amounts as per FURS specification
- Same field mapping as invoices, but amounts are negated
Important:
- KIR/KPR is available only to entities whose country code is SI
- Draft, voided, and deleted documents are excluded
- Domestic outgoing advances are included as separate KIR rows and their allocated net/VAT amounts are subtracted from the linked final invoice. For intra-EU B2B supplies, goods prepayments are omitted and not deducted; only the classified service component is reported in P10 and deducted from the final invoice. A fully prepaid reportable service still emits the final reconciliation row with P10 empty/zero
- Third-country outgoing documents use the persisted item tax treatment: bases with an explicit 0% tax row map to P7, while no-tax net amounts (including unrated summary bases) map to P27. Mixed documents are split between both fields. Product/service classification and customer geography are not substitutes for tax treatment; the legacy export transaction type remains an explicit goods-export marker and maps to P7
- Domestic and intra-EU B2C outgoing documents fail closed when any net base is 0%, no-tax, unrated, or does not reconcile to the explicit tax summaries; an exemption semantic is required before those amounts can be placed safely
- The selected month or quarter includes the complete final calendar day
- Customer identity fields P5/P6/P6DS are omitted for end consumers
- KIR uses the issued-document date for period selection and P2/P4. KPR uses the receipt date (falling back to supplier-document date) for period selection and P2/P4, while P5 remains the supplier-document date. Dedicated reporting state and post-export locking are deferred
- An included AP document must have its own supplier-document date for KPR P5; receipt date is never substituted into P5
- Reportable intra-EU AP purchases require both the supplier VAT number and an EU supplier country code so KPR P7/P7DS can be emitted together
- P6 is emitted only for a customer with a tax number and an explicit VAT-identified semantic (or an intra-EU B2B transaction); Greek EL VAT prefixes are normalized to FURS country code GR
- The canonical slovenia.vat_profile controls standard, special-VAT-identified, and non-VAT-subject behavior. An ambiguous legacy is_tax_subject=false state must be configured before export
- Special VAT-identified persons report only applicable EU B2B service supplies in outgoing KIR; cross-border self-assessments use KPR P17 because input VAT cannot be deducted. Non-VAT subjects cannot generate this filing
- ODBDELEZ comes only from the explicit calculates_deduction_ratio profile setting and is not inferred from line-level deductibility
- Domestic suppliers require explicit VAT-subject status; domestic small-taxpayer purchases are excluded. Every included expense requires the supplier's own document number for KPR P3
- An explicit 0% tax row with a non-zero base is an exempt purchase and maps to KPR P14 for a standard taxpayer. No tax rows are not equivalent to 0%: non-VAT-supplier purchases are excluded, while an otherwise reportable expense without tax metadata fails validation
- Cross-border supplier-charged foreign VAT is excluded. Mixing it with Slovenian-reportable reverse-charge VAT is rejected as ambiguous
- Customs imports and fixed-asset KPR columns P12/P13/P15/P16 are not currently supported; the exporter does not infer either treatment from supplier geography, item descriptions, or financial categories
- Ambiguous domestic outgoing 0% supplies, unknown transaction types, unsupported tax rates, missing EUR conversions, and amounts outside the FURS XSD bounds are rejected with HTTP 422 instead of producing an unsafe filing
- Entity must have a valid 8-digit Slovenian tax number (SI prefix is automatically removed)
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Query parameters
Year for the combined KIR/KPR export (e.g., 2025)
Month for monthly export (1-12). Cannot be used with quarter.
Quarter for quarterly export (1-4). Cannot be used with month.
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const blob = await sdk.taxReports.generateKirExport({
year: "2025"
}, {
entity_id: "YOUR_ENTITY_ID"
});
const arrayBuffer = await blob.arrayBuffer();
const { writeFile } = await import('node:fs/promises');
await writeFile('download.bin', Buffer.from(arrayBuffer));
console.log('Saved download.bin');Review yearly Slovenia normirani filing
/tax-reports/si/yearly/normirani/reviewBuild a review draft for the yearly Slovenia DDD-DDD filing for the supported resident normirani s.p. path.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Body parameters
Tax year for the yearly Slovenia eDavki filing.
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.taxReports.reviewSloveniaYearlyNormiraniReport({
year: 2025
}, {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Returns
{
"entity_id": "entity-id",
"year": 2025,
"filing_kind": "regular_annual",
"profile": {
"business_form": "sp",
"income_tax_regime": "normirani",
"vat_profile": "standard",
"calculates_deduction_ratio": true,
"tax_residency": "resident",
"yearly_reporting": {
"activity_codes": [
"62.010",
"47.910"
],
"registration_number": "1234567",
"accounting_type": "records",
"normiranec_insurance_basis": "full_time_self_employed",
"default_withholding_tax_amount": 0,
"default_foreign_tax_credit_amount": 0
},
"accounting_exports": {
"preferred_format": "vod_xml",
"konto_mappings": {
"receivables": "receivables",
"payables": "payables",
"sales_vat_22": "sales-vat-22",
"sales_vat_95": "sales-vat-95",
"sales_vat_5": "sales-vat-5",
"purchase_vat_recoverable_22": "purchase-vat-recoverable-22",
"purchase_vat_recoverable_95": "purchase-vat-recoverable-95",
"purchase_vat_recoverable_5": "purchase-vat-recoverable-5",
"sales_revenue_22": "sales-revenue-22",
"sales_revenue_95": "sales-revenue-95",
"sales_revenue_5": "sales-revenue-5",
"sales_revenue_exempt": "sales-revenue-exempt",
"sales_revenue_eu_goods": "sales-revenue-eu-goods",
"sales_revenue_eu_services": "sales-revenue-eu-services",
"sales_revenue_reverse_charge": "sales-revenue-reverse-charge",
"sales_revenue_third_country_goods": "sales-revenue-third-country-goods",
"sales_revenue_third_country_services": "sales-revenue-third-country-services",
"purchase_expense_22": "purchase-expense-22",
"purchase_expense_95": "purchase-expense-95",
"purchase_expense_5": "purchase-expense-5",
"purchase_expense_exempt": "purchase-expense-exempt",
"purchase_expense_eu_goods": "purchase-expense-eu-goods",
"purchase_expense_eu_services": "purchase-expense-eu-services",
"purchase_expense_reverse_charge": "purchase-expense-reverse-charge",
"purchase_expense_third_country_goods": "purchase-expense-third-country-goods",
"purchase_expense_third_country_services": "purchase-expense-third-country-services"
}
},
"business_form_source": "stored",
"inferred_business_form": "sp",
"supported_exports": {
"yearly_normirani": true,
"vod_xml": true,
"vasco_xml": true,
"minimax_xml": true
},
"unsupported_reason": "unsupported-reason"
},
"auto_values": {
"total_invoice_revenue": 0,
"total_credit_note_reduction": 0,
"computed_revenue": 0,
"adjusted_revenue": 0,
"normative_expense_rate": 0,
"normative_expenses": 0,
"tax_base": 0,
"income_tax_rate": 0,
"income_tax_amount": 0,
"advance_tax_amount": 0,
"monthly_installment_amount": 0,
"quarterly_installment_amount": 0
},
"manual_values": {
"withholding_tax_amount": 0,
"foreign_tax_credit_amount": 0,
"prior_advance_income_tax_amount": 0,
"revenue_adjustment_decrease": 0,
"revenue_adjustment_increase": 0
},
"derived_flags": {
"has_foreign_customers": true,
"has_foreign_tax_numbers": true,
"has_non_eur_documents": true
},
"warnings": [
{
"code": "code",
"message": "message",
"severity": "info"
}
],
"issue_details": [
{
"code": "code",
"title": "title",
"summary": "summary",
"explanation": "explanation",
"action": "action",
"severity": "info",
"official_sources": [
{
"label": "label",
"url": "https://example.com",
"issuer": "FURS"
}
],
"affected_documents": [
{
"id": "id",
"type": "invoice",
"number": "number",
"date": "date",
"customer_name": "customer-name",
"customer_country_code": "customer-country-code",
"customer_tax_number": "customer-tax-number",
"currency_code": "currency-code",
"total": 0,
"total_converted": 0,
"reason": "reason",
"document_path": "document-path"
}
]
}
],
"rule_summary": {
"normative_expense_rule": "normative-expense-rule",
"income_tax_rule": "income-tax-rule",
"advance_rule": "advance-rule"
}
}Export yearly Slovenia normirani XML
/tax-reports/si/yearly/normirani/exportGenerate a DDD-DDD XML file for the supported resident normirani s.p. path after the yearly review values are confirmed.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Body parameters
Tax year for the yearly Slovenia eDavki filing.
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.taxReports.exportSloveniaYearlyNormiraniReport({
year: 2025,
manual_values: {
withholding_tax_amount: 0,
foreign_tax_credit_amount: 0,
prior_advance_income_tax_amount: 0,
revenue_adjustment_decrease: 0,
revenue_adjustment_increase: 0
}
}, {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Export Slovenia VOD XML ZIP
/tax-reports/si/accounting/vod/exportGenerate a legacy-compatible Slovenian VOD ZIP export for issued documents. The first release contains only VOD_izdani.xml.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Body parameters
Inclusive document date in YYYY-MM-DD format.
Inclusive document date in YYYY-MM-DD format.
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const blob = await sdk.taxReports.exportSloveniaVodXml({
date_from: "2025-01-01",
date_to: "2025-01-31"
}, {
entity_id: "YOUR_ENTITY_ID"
});
const arrayBuffer = await blob.arrayBuffer();
const { writeFile } = await import('node:fs/promises');
await writeFile('download.bin', Buffer.from(arrayBuffer));
console.log('Saved download.bin');Get Slovenia yearly tax profile
/tax-reports/si/profileRetrieve the normalized Slovenia-specific tax profile stored on the entity, including inferred business form and yearly-export support status.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.taxReports.getSloveniaTaxProfile({
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Returns
{
"business_form": "sp",
"income_tax_regime": "normirani",
"vat_profile": "standard",
"calculates_deduction_ratio": true,
"tax_residency": "resident",
"yearly_reporting": {
"activity_codes": [
"62.010",
"47.910"
],
"registration_number": "1234567",
"accounting_type": "records",
"normiranec_insurance_basis": "full_time_self_employed",
"default_withholding_tax_amount": 0,
"default_foreign_tax_credit_amount": 0
},
"accounting_exports": {
"preferred_format": "vod_xml",
"konto_mappings": {
"receivables": "receivables",
"payables": "payables",
"sales_vat_22": "sales-vat-22",
"sales_vat_95": "sales-vat-95",
"sales_vat_5": "sales-vat-5",
"purchase_vat_recoverable_22": "purchase-vat-recoverable-22",
"purchase_vat_recoverable_95": "purchase-vat-recoverable-95",
"purchase_vat_recoverable_5": "purchase-vat-recoverable-5",
"sales_revenue_22": "sales-revenue-22",
"sales_revenue_95": "sales-revenue-95",
"sales_revenue_5": "sales-revenue-5",
"sales_revenue_exempt": "sales-revenue-exempt",
"sales_revenue_eu_goods": "sales-revenue-eu-goods",
"sales_revenue_eu_services": "sales-revenue-eu-services",
"sales_revenue_reverse_charge": "sales-revenue-reverse-charge",
"sales_revenue_third_country_goods": "sales-revenue-third-country-goods",
"sales_revenue_third_country_services": "sales-revenue-third-country-services",
"purchase_expense_22": "purchase-expense-22",
"purchase_expense_95": "purchase-expense-95",
"purchase_expense_5": "purchase-expense-5",
"purchase_expense_exempt": "purchase-expense-exempt",
"purchase_expense_eu_goods": "purchase-expense-eu-goods",
"purchase_expense_eu_services": "purchase-expense-eu-services",
"purchase_expense_reverse_charge": "purchase-expense-reverse-charge",
"purchase_expense_third_country_goods": "purchase-expense-third-country-goods",
"purchase_expense_third_country_services": "purchase-expense-third-country-services"
}
},
"business_form_source": "stored",
"inferred_business_form": "sp",
"supported_exports": {
"yearly_normirani": true,
"vod_xml": true,
"vasco_xml": true,
"minimax_xml": true
},
"unsupported_reason": "unsupported-reason"
}Update Slovenia yearly tax profile
/tax-reports/si/profileUpdate the Slovenia-specific tax profile stored on the entity. Unsupported profiles are stored for future use but remain blocked for yearly export.
Header parameters
Entity ID on which the request is made. Auto-selected when only one entity exists, required when multiple entities exist.
Body parameters
import SpaceInvoices from '@spaceinvoices/js-sdk/sdk';
const sdk = new SpaceInvoices('YOUR_API_KEY');
const response = await sdk.taxReports.updateSloveniaTaxProfile({
business_form: "sp",
income_tax_regime: "normirani",
vat_profile: "standard",
calculates_deduction_ratio: false,
tax_residency: "resident",
yearly_reporting: {
activity_codes: [
"62.010",
"47.910"
],
registration_number: "1234567",
accounting_type: "records",
normiranec_insurance_basis: "full_time_self_employed",
default_withholding_tax_amount: 0,
default_foreign_tax_credit_amount: 0
}
}, {
entity_id: "YOUR_ENTITY_ID"
});
console.log(response);Returns
{
"business_form": "sp",
"income_tax_regime": "normirani",
"vat_profile": "standard",
"calculates_deduction_ratio": true,
"tax_residency": "resident",
"yearly_reporting": {
"activity_codes": [
"62.010",
"47.910"
],
"registration_number": "1234567",
"accounting_type": "records",
"normiranec_insurance_basis": "full_time_self_employed",
"default_withholding_tax_amount": 0,
"default_foreign_tax_credit_amount": 0
},
"accounting_exports": {
"preferred_format": "vod_xml",
"konto_mappings": {
"receivables": "receivables",
"payables": "payables",
"sales_vat_22": "sales-vat-22",
"sales_vat_95": "sales-vat-95",
"sales_vat_5": "sales-vat-5",
"purchase_vat_recoverable_22": "purchase-vat-recoverable-22",
"purchase_vat_recoverable_95": "purchase-vat-recoverable-95",
"purchase_vat_recoverable_5": "purchase-vat-recoverable-5",
"sales_revenue_22": "sales-revenue-22",
"sales_revenue_95": "sales-revenue-95",
"sales_revenue_5": "sales-revenue-5",
"sales_revenue_exempt": "sales-revenue-exempt",
"sales_revenue_eu_goods": "sales-revenue-eu-goods",
"sales_revenue_eu_services": "sales-revenue-eu-services",
"sales_revenue_reverse_charge": "sales-revenue-reverse-charge",
"sales_revenue_third_country_goods": "sales-revenue-third-country-goods",
"sales_revenue_third_country_services": "sales-revenue-third-country-services",
"purchase_expense_22": "purchase-expense-22",
"purchase_expense_95": "purchase-expense-95",
"purchase_expense_5": "purchase-expense-5",
"purchase_expense_exempt": "purchase-expense-exempt",
"purchase_expense_eu_goods": "purchase-expense-eu-goods",
"purchase_expense_eu_services": "purchase-expense-eu-services",
"purchase_expense_reverse_charge": "purchase-expense-reverse-charge",
"purchase_expense_third_country_goods": "purchase-expense-third-country-goods",
"purchase_expense_third_country_services": "purchase-expense-third-country-services"
}
},
"business_form_source": "stored",
"inferred_business_form": "sp",
"supported_exports": {
"yearly_normirani": true,
"vod_xml": true,
"vasco_xml": true,
"minimax_xml": true
},
"unsupported_reason": "unsupported-reason"
}