Skip to Content
Custom Engineering

Odoo e-Invoicing / Nimex Solutions

Türkiye Electronic Invoice Suite

Standard Odoo sends a basic e-Fatura through Nilvera and tells you whether it was transmitted, which leaves Turkish commercial practice open. The suite adds the Ticari scenario with the customer's answer, pre-send GİB checks, provider previews, templates, official PDFs, e-Arşiv parity, GİB-style returns and incoming bills that arrive already filled.

The problem

A transmitted invoice is not a finished invoice.

Odoo's Türkiye localisation builds the UBL-TR document, sends e-Fatura and e-Arşiv through Nilvera and reports a transmission status. For a basic invoice that is enough. Turkish B2B practice is rarely basic.

Many customers work with the Ticari scenario, where they formally accept or reject the invoice within eight days, and finance needs that answer on the invoice, separate from the delivery status. Withholding (tevkifat) and exemption invoices are validated strictly by GİB, customers expect their agreed template, and auditors expect the officially rendered PDF on file.

Returns are their own document type in Türkiye, and incoming supplier e-invoices land as drafts whose vendor, products and totals still have to be checked by hand.

What we engineered

An additive layer on the standard send pipeline.

Nothing in Odoo's standard e-invoicing is rewritten: the suite extends the documents, the send step and the synchronisation, so upgrades of the localisation keep working underneath.

e-Fatura, commercial scenario

  • Temel and Ticari scenarios, per-customer default; the scenario freezes once sent.
  • Blocking checks: registered e-Fatura user, invoice type, withholding tax consistency, exemption codes.
  • Transmission status and commercial answer as two separate fields, synced hourly and on demand.
  • A rejection with its reason creates a to-do for the designated Ticari owner.

Documents and templates

  • Nilvera Preview renders the exact UBL-TR document as the provider's PDF without issuing it; XML İndir downloads the same XML.
  • e-Fatura and e-Arşiv templates mirrored from the Nilvera account, chosen per invoice, defaulted per customer.
  • Official PDF fetched after sending, retried and pinned as the main attachment; missing PDFs backfilled.
  • Customer PO reference, customer-facing line text and the invoice's own exchange rate in the XML.

e-Arşiv and returns

  • e-Arşiv branch with its own template, preview without alias and archived official PDF; no scenario, no answer.
  • İade e-documents: InvoiceTypeCode IADE, Temel profile, BillingReference to every original invoice.
  • Original GİB numbers pre-filled from the reversed invoice and format-checked; IAD series or a shared numbering chain where configured.
  • Incoming İade from a customer booked as a draft credit note on 610, 191.11 and 120.

Incoming bills and operations

  • Vendor matched on VKN/TCKN, ambiguous matches refused; vendor creation wizard pre-filled from the XML.
  • Products through the vendor's supplier codes, the vendor's default expense account, zero lines kept.
  • XML payable amount stored; mismatching totals flagged on the bill and in a filter.
  • Fault-tolerant status and PDF loops; draft-first submission for accountant review where configured.

How it works

From the contact to the customer's answer.

  1. Contact verified

    Saving a Turkish contact checks the provider's registry: Nilvera Status E-Invoice or E-Archive, plus the default scenario and templates for that customer.

  2. Draft invoice

    The invoice inherits Ticari or Temel, the template and the customer's PO reference; line descriptions for the customer are kept per line.

  3. Pre-send checks

    GİB rules run before sending: e-Fatura user, invoice type, withholding tax on Tevkifat invoices, exemption code where required.

  4. Nilvera Preview

    The provider renders the exact document as a PDF; nothing is created and the status stays Not sent.

  5. Send

    Nilvera Status becomes Sent and waiting response; a Ticari invoice also shows Waiting for Response, and its scenario is locked.

  6. Official PDF and status

    The provider's PDF is fetched and pinned as the main attachment; the hourly sync sets Successful or keeps a readable error.

  7. Customer's answer

    For Ticari: Accepted, Rejected with a reason and a to-do, or Automatically Answered after the window.

Integration points

What flows between Odoo and the provider.

Odoo Sales and Invoicingcustomer invoices, PO reference, line texts
Odoo ContactsVKN/TCKN, Nilvera Status, default scenario and templates
Odoo Purchase and Accountingincoming bills, credit notes, return VAT accounts
e-Invoice Suiteon Odoo's Türkiye localisation and Nilvera connector
Nilveraregistry check, send, preview, templates, status, official PDFs, incoming documents
  • UBL-TR XML out
  • status and answer back
  • PDF and incoming XML in
GİBreached through the provider
Chat with us