Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. CRM
  3. Prozorro Connector v 19.0
  4. Sales Conditions FAQ

Prozorro Connector

by Rteam https://rteam.agency
Odoo
v 19.0 Third Party 5
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • CRM (crm)
• Discuss (mail)
• Calendar (calendar)
• Contacts (contacts)
Lines of code 2807
Technical Name rteam_prozorro
LicenseLGPL-3
Websitehttps://rteam.agency
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies • CRM (crm)
• Discuss (mail)
• Calendar (calendar)
• Contacts (contacts)
Lines of code 2807
Technical Name rteam_prozorro
LicenseLGPL-3
Websitehttps://rteam.agency

Ukrainian Prozorro tenders, matched and routed into your CRM

Watch the Prozorro public-procurement feed, filter by your CPV / keywords / region rules, and turn matches into CRM leads automatically.

Localized in 8 languages: English · Русский · Українська · Deutsch · Español · Română · Polski · العربية

What it does

Ukrainian businesses participating in public procurement read the Prozorro feed manually every morning, copy interesting tender numbers into a spreadsheet, and lose hours every week. Prozorro Connector moves that workflow into Odoo: define your subscription once (CPV codes, keywords, region, value range, status), and the cron pulls the public feed hourly, persists only matches, emails an alert, and optionally creates a CRM lead per match.

Odoo 19 LGPL-3 Free No external dependencies Community & Enterprise

Matched tenders, grouped by status

Open the Tenders kanban and see every matched tender from the live Prozorro feed, grouped by lifecycle status - active, awarded, clarification period, qualification, complete. Cards show the tender ID, title, expected value, and the deadline countdown. Drag is intentionally disabled - status is owned by the Prozorro feed, not by your sales team.

Tenders kanban grouped by Prozorro status with real Ukrainian tender data

Key features

1 Subscription rules with five filter dimensions

Each subscription combines CPV codes (DK021:2015), one or more keywords (contains, regex, or negate), regions (mapped to Ukrainian oblasts and cities of special status), a value range, target statuses (active.tendering, complete, cancelled, etc.), and selected procurement methods. A tender matches only when every active filter on the subscription accepts it.

A built-in form-view warning fires if a subscription has neither CPV codes nor keywords - so a misconfigured subscription that would match the entire feed never goes live by accident.

Subscription form with CPV / keywords / region / status filters
Matched tenders list view

2 Filter-at-sync: only matched tenders persist

The cron walks the Prozorro feed page by page (default 20 pages per run, configurable). For each tender, the matcher evaluates every active subscription. Only tenders that match at least one subscription are stored - the rest are dropped immediately, so the database stays small even on a busy feed.

A daily retention cron drops matched tenders 60 days after their tender_period_end unless they were converted to a CRM lead. The retention window is configurable from Settings.

3 Settings page: schedule, live status, force stop

One screen controls everything: sync schedule (off by default, configurable to any cron interval), API endpoint, pages per run, retention days, and whether to auto-create CRM leads from matches.

A live status block shows whether a sync is currently running, the timestamp of the last successful run, and the last error message if any. A Manager-only Force stop button appears only if a sync has been "running" for more than 60 minutes - clearing stale flags without an Odoo restart.

Settings page with sync schedule, status block, and force-stop

4 Test wizard: paste a UUID, get a per-filter verdict

Want to know whether your subscription would match a specific tender? Open the tender on prozorro.gov.ua, copy its UUID, paste it into the Test wizard. The wizard fetches the live tender from the API and prints a per-filter verdict: which filters accepted it, which rejected it, and the final overall match. No more guessing whether your CPV list was too narrow or your keyword regex was too strict.

5 CRM leads created automatically (with audit trail)

Per-subscription opt-in: enable Auto-create CRM lead and every match for that subscription becomes a crm.lead linked back to the source tender. Leads are always created with type='lead' (never Opportunity) so they go through your normal manual triage. The lead's chatter shows the originating subscription and the tender UUID for traceability.

6 Email alert per match with deep-link

On every successful sync that produces at least one match, the subscribed users receive a per-tender alert email with a teal NEW MATCH badge, the tender header (name, value, deadline), the tender items collapsed inside a <details> block so the inbox preview stays clean, and a one-click "View in Odoo" button deep-linking into the tender form.

Available in your language

Field labels, settings help text, search filters, action menus, cron names, and the alert email body are translated to seven additional languages. Translations apply automatically based on each user's Odoo language preference - no extra configuration.

English · Русский · Українська · Deutsch · Español · Română · Polski · العربية

en · ru · uk · de · es · ro · pl · ar

Configuration

Open Prozorro → Settings after installation, switch on Enable scheduled sync, pick an interval (default off so you can sync manually first), and you are done. The feed is public and unauthenticated - no API key, no token, no account on prozorro.gov.ua required.

  • API URL - default `https://public.api.openprocurement.org/api/2.5/tenders`, override only for staging or load-balanced mirrors
  • Pages per run - safety cap on the cron walker (default 20, raise carefully)
  • Retention (days) - how long matched tenders stay in the database after `tender_period_end` (default 60, set 0 to disable retention)
  • Enable CRM Leads - master toggle. Off = no leads ever created, regardless of per-subscription setting

Technical details

  • Targets: Odoo 19 Community and Enterprise. The module depends only on base, mail, and crm.
  • License: LGPL-3, free.
  • Security: all menus and operational records restricted to base.group_user; settings and force-stop restricted to base.group_system. No public HTTP endpoints exposed by this module.
  • HTTP client: Python stdlib urllib.request only. No requests dependency, no third-party HTTP library required at install time.
  • Storage: seven new tables (subscription, keyword, tender, classification, region, procurement method, status, sync cursor) - all small, all retention-bounded.
  • Cron resilience: stale `is_running` self-heal after 60 min, postcommit-deferred reschedule writes (no `lock_for_update` UserError), isolated chatter cursor (cron rollback never erases the audit trail).
  • Test coverage: 20 unit and integration tests covering subscription matching, feed sync with mocked HTTP, lead-creation gating, and cursor lifecycle.

What this module does not do

  • It does not submit bids on Prozorro - this is a read-only mirror plus alerting
  • It does not authenticate to the Prozorro API - the public feed is unauthenticated and that is what we read
  • It does not download tender attachments - only the structured metadata exposed by the API
  • It does not generate quotations or sale orders from tenders - that is the scope of the paid sibling rteam_prozorro_sales module

Need any of the above? The paid extension rteam_prozorro_sales adds tender-to-quotation auto-conversion, full DK021:2015 dictionary, and a daily HTML digest. Get in touch.

Support

Source code, issues, and feature requests: github.com/RteamAgency/rteam-prozorro

Built and maintained by Rteam, an Odoo Enterprise consulting agency. rteam.agency

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author, please use the developer contact information. They can usually be found in the description.
Please choose a rating from 1 to 5 for this module.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with