{"id":391563,"date":"2026-10-25T13:03:17","date_gmt":"2026-10-25T13:03:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/firmeinfo-ro-for-woocommerce\/"},"modified":"2026-10-25T13:04:31","modified_gmt":"2026-10-25T13:04:31","slug":"firmeinfo-ro-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/firmeinfo-ro-for-woocommerce\/","author":23493672,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.1.4","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Firmeinfo.ro for WooCommerce","header_author":"Oaspete.ro","header_description":"Automatically populate WooCommerce business billing fields using a company's Romanian CUI and the Firmeinfo.ro API.","assets_banners_color":"5980d9","last_updated":"2026-10-25 13:04:31","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/firmeinfo.ro\/woocommerce-plugin","header_author_uri":"https:\/\/oaspete.ro","rating":0,"author_block_rating":0,"active_installs":0,"downloads":81,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"oaspete","date":"2026-10-25 13:04:31","revision":3764607}},"upgrade_notice":{"1.0.1":"<p>Removed unsupported claims, moved inline CSS to enqueued stylesheets, added &quot;Requires Plugins: woocommerce&quot;, documented the Firmeinfo.ro API as an external service with Terms and Privacy links, and limited admin notices to the plugin&#039;s own settings page. Recommended update for all users.<\/p>","1.0.0":"<p>Initial version of Firmeinfo.ro for WooCommerce.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3764675,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3764675,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3764675,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3764675,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin panel with real-time statistics and API limits","2":"API configuration form (Client ID + Client Secret)","3":"Checkout as an individual (company fields hidden)","4":"Checkout with the \"I want a company invoice\" option checked (CUI, Trade Register Number, Registered Office, and the autofill button appear)","5":"The \"Auto-fill company data\" button directly under the CUI field","6":"Dashboard Widget with statistics and daily usage"}},"plugin_section":[262246],"plugin_tags":[161951,15149,288444,197,286],"plugin_category":[45],"plugin_contributors":[288445],"plugin_business_model":[],"class_list":["post-391563","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-anaf","plugin_tags-billing","plugin_tags-cui","plugin_tags-romania","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-oaspete","plugin_committers-oaspete"],"banners":{"banner":"https:\/\/ps.w.org\/firmeinfo-ro-for-woocommerce\/assets\/banner-772x250.png?rev=3764675","banner_2x":"https:\/\/ps.w.org\/firmeinfo-ro-for-woocommerce\/assets\/banner-1544x500.png?rev=3764675","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/firmeinfo-ro-for-woocommerce\/assets\/icon-128x128.png?rev=3764675","icon_2x":"https:\/\/ps.w.org\/firmeinfo-ro-for-woocommerce\/assets\/icon-256x256.png?rev=3764675","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><strong>Firmeinfo.ro for WooCommerce<\/strong> helps WooCommerce stores in Romania offer a faster, more accurate checkout for company invoices. It retrieves official company data from ANAF through the Firmeinfo.ro API and fills the billing fields automatically, based on the CUI (tax ID) entered by the customer.<\/p>\n\n<h4>How it works<\/h4>\n\n<ol>\n<li>The customer checks the <strong>\"I want a company invoice (legal entity)\"<\/strong> option.<\/li>\n<li>Dedicated fields appear automatically: <strong>CUI\/CIF<\/strong>, <strong>Company Name<\/strong>, <strong>Trade Register Number<\/strong>, <strong>Registered Office<\/strong>.<\/li>\n<li>The customer enters the company's <strong>CUI<\/strong> (tax ID).<\/li>\n<li>They click the <strong>\"Auto-fill company data\"<\/strong> button (placed directly under the CUI field).<\/li>\n<li>The data is retrieved from <strong>ANAF<\/strong> via the Firmeinfo.ro API.<\/li>\n<li>The fields are automatically filled:\n\n<ul>\n<li>Company name<\/li>\n<li>Trade Register Number<\/li>\n<li>Full registered office address<\/li>\n<li>Address, city, county, postcode<\/li>\n<li>Phone (if available)<\/li>\n<li>Shipping address (optional, configurable)<\/li>\n<\/ul><\/li>\n<\/ol>\n\n<h4>Key Features<\/h4>\n\n<ul>\n<li>\u2705 <strong>Official ANAF data<\/strong> - company information retrieved from the ANAF source<\/li>\n<li>\u2705 <strong>\"Company invoice\" toggle<\/strong> - company fields appear only when needed, keeping checkout clean for individuals<\/li>\n<li>\u2705 <strong>Dedicated fields<\/strong> - CUI\/CIF, Trade Register Number, Registered Office, saved to the order and customer address<\/li>\n<li>\u2705 <strong>Smart cache<\/strong> - reduces API usage and speeds up responses<\/li>\n<li>\u2705 <strong>Real-time statistics<\/strong> - monitor usage directly from the admin<\/li>\n<li>\u2705 <strong>Transparent rate limiting<\/strong> - see how many requests you have left<\/li>\n<li>\u2705 <strong>Field configuration<\/strong> - choose which fields to auto-fill<\/li>\n<li>\u2705 <strong>WooCommerce HPOS compatible<\/strong> - High-Performance Order Storage<\/li>\n<li>\u2705 <strong>Romanian interface<\/strong><\/li>\n<li>\u2705 <strong>Debug mode<\/strong> - for developers<\/li>\n<li>\u2705 <strong>Clean layout<\/strong> - single column, regardless of theme, mobile responsive<\/li>\n<li>\u2705 <strong>Cache busting via <code>filemtime()<\/code><\/strong> - CSS\/JS updates are instantly propagated to customers<\/li>\n<\/ul>\n\n<h4>How to get an API Key (free)<\/h4>\n\n<ol>\n<li>Register for free on <a href=\"https:\/\/firmeinfo.ro\/cont\/inregistrare.php\">Firmeinfo.ro<\/a> \u2014 no credit card required.<\/li>\n<li>Go to <a href=\"https:\/\/firmeinfo.ro\/cont\/profil.php?tab=api\">Your Profile \u2192 API<\/a>.<\/li>\n<li>Click <strong>Generate API token<\/strong> \u2014 it is created instantly.<\/li>\n<li>Copy the <strong>Client ID<\/strong> and <strong>Client Secret<\/strong> (also called token).<\/li>\n<li>Paste them into the plugin settings (WooCommerce \u2192 Settings \u2192 Firmeinfo.ro).<\/li>\n<li>Click <strong>Test connection<\/strong> to verify.<\/li>\n<\/ol>\n\n<p>The FREE plan includes 10 requests\/hour and 500 requests\/day \u2014 enough for most small and medium stores. Higher volumes are available through PRO and ENTERPRISE plans.<\/p>\n\n<h4>Available Plans<\/h4>\n\n<ul>\n<li><strong>FREE<\/strong> \u2014 10 requests\/hour, 500 requests\/day \u2014 FREE<\/li>\n<li><strong>PRO<\/strong> \u2014 100 requests\/hour, 5,000 requests\/day \u2014 Contact<\/li>\n<li><strong>ENTERPRISE<\/strong> \u2014 1,000 requests\/hour, 50,000 requests\/day \u2014 Contact<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>This plugin connects to the <strong>Firmeinfo.ro API<\/strong> (https:\/\/api.firmeinfo.ro) to retrieve official company data from ANAF, based on the CUI (tax ID) entered by the customer during checkout.<\/p>\n\n<p><strong>What data is sent:<\/strong>\n- The CUI (tax ID) entered by the customer in the checkout form\n- The plugin's Client ID and Client Secret, sent as request headers (<code>X-Client-ID<\/code>, <code>X-Client-Secret<\/code>) for authentication<\/p>\n\n<p><strong>When data is sent:<\/strong>\n- When the customer clicks the \"Auto-fill company data\" button<\/p>\n\n<p><strong>Why data is sent:<\/strong>\n- To populate the billing fields (company name, trade register number, registered office, address, city, county, postcode, phone) with official data from ANAF via the Firmeinfo.ro API<\/p>\n\n<p><strong>What is received:<\/strong>\n- Public company information from ANAF, used only to fill the checkout fields. The response is cached locally (transient) for a configurable period (default 24 hours) to reduce API usage.<\/p>\n\n<p>This service is provided by <strong>Firmeinfo.ro (Oaspete.ro)<\/strong>.<\/p>\n\n<ul>\n<li>Terms of Service: https:\/\/firmeinfo.ro\/termeni<\/li>\n<li>Privacy Policy: https:\/\/firmeinfo.ro\/politica-confidentialitate<\/li>\n<li>API Documentation: https:\/\/api.firmeinfo.ro\/documentatie.php<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>firmeinfo-ro-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the extension from the 'Plugins' menu.<\/li>\n<li>Go to <strong>WooCommerce \u2192 Settings \u2192 Firmeinfo.ro<\/strong>.<\/li>\n<li>Paste the <strong>Client ID<\/strong> and <strong>Client Secret<\/strong> from your Firmeinfo.ro account.<\/li>\n<li>Save the settings.<\/li>\n<li>Click <strong>Test connection<\/strong> to verify the API is reachable.<\/li>\n<li>Done! The extension works automatically at checkout.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"is%20it%20free%3F\"><h3>Is it free?<\/h3><\/dt>\n<dd><p>Yes! The FREE plan includes 10 requests\/hour and 500 requests\/day \u2014 enough for most small and medium stores. No credit card is required. For higher volumes, PRO and ENTERPRISE plans are available.<\/p><\/dd>\n<dt id=\"where%20do%20i%20get%20an%20api%20key%3F\"><h3>Where do I get an API Key?<\/h3><\/dt>\n<dd><p>Register for free on <a href=\"https:\/\/firmeinfo.ro\/cont\/inregistrare.php\">Firmeinfo.ro<\/a>, open <a href=\"https:\/\/firmeinfo.ro\/cont\/profil.php?tab=api\">Your Profile \u2192 API<\/a>, and click <strong>Generate API token<\/strong>. It is created instantly and does not require manual approval. Copy the Client ID and Client Secret into the plugin settings.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20other%20checkout%20extensions%3F\"><h3>Does it work with other checkout extensions?<\/h3><\/dt>\n<dd><p>The extension is compatible with the standard WooCommerce checkout (shortcode <code>[woocommerce_checkout]<\/code>). For checkout blocks (the new checkout from WooCommerce Blocks), integration requires a future version. For custom extensions that completely override the classic checkout, minor adjustments may be needed.<\/p><\/dd>\n<dt id=\"is%20the%20cache%20safe%3F\"><h3>Is the cache safe?<\/h3><\/dt>\n<dd><p>Yes. Data is stored locally only for public fields (official ANAF data). Customers always see correct and up-to-date information. The cache is internally versioned (<code>CACHE_VERSION<\/code>) and is automatically invalidated when the extension is updated.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20exceed%20the%20limit%3F\"><h3>What happens if I exceed the limit?<\/h3><\/dt>\n<dd><p>You will receive HTTP 429 (Too Many Requests). The extension displays a friendly message to the customer and does not block checkout \u2014 the customer can fill in the data manually.<\/p><\/dd>\n<dt id=\"what%20fields%20are%20added%20to%20the%20order%3F\"><h3>What fields are added to the order?<\/h3><\/dt>\n<dd><p>In addition to standard WooCommerce fields, the extension adds:\n* <code>billing_cui<\/code> \u2014 CUI\/CIF (e.g. <code>RO14346574<\/code>)\n* <code>billing_reg_com<\/code> \u2014 Trade Register Number (e.g. <code>J40\/1234\/1996<\/code>)\n* <code>billing_sediu_social<\/code> \u2014 Full registered office address<\/p>\n\n<p>All are saved to:\n* the WooCommerce order (<code>_billing_cui<\/code>, <code>_billing_reg_com<\/code>, <code>_billing_sediu_social<\/code>)\n* the customer address (for future orders)\n* the formatted address in emails and invoices\n* the order admin page<\/p><\/dd>\n<dt id=\"is%20data%20lost%20on%20uninstall%3F\"><h3>Is data lost on uninstall?<\/h3><\/dt>\n<dd><p>No. Transactional data (the CUI from already placed orders) <strong>remains in the database<\/strong> \u2014 it is fiscal data, required for ANAF and archiving. Only configuration options, cache transients, and associated user meta are deleted. WooCommerce does the same with <code>_billing_company<\/code>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Removed the unsupported superlative claim from the description.<\/li>\n<li>Moved inline CSS into enqueued stylesheets (<code>admin.css<\/code> and <code>dashboard-widget.css<\/code>). No inline <code>&lt;style&gt;<\/code> blocks or <code>style=\"\"<\/code> attributes remain.<\/li>\n<li>Added \"Requires Plugins: woocommerce\" to the plugin header.<\/li>\n<li>Added an \"External services\" section documenting the Firmeinfo.ro API: what data is sent, when, why, and links to the Terms of Service and Privacy Policy.<\/li>\n<li>Limited the admin notice to the plugin's own settings page (Guideline 11).<\/li>\n<li>Added \"How to get an API Key (free)\" section with step-by-step instructions.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<li>\"I want a company invoice (legal entity)\" toggle \u2014 company fields appear only when checked<\/li>\n<li>Dedicated fields: <strong>CUI\/CIF<\/strong>, <strong>Company Name<\/strong>, <strong>Trade Register Number<\/strong>, <strong>Full Registered Office<\/strong><\/li>\n<li>\"Auto-fill company data\" button placed directly under the field<\/li>\n<li>Robust API data extraction (regex fallback for Trade Register Number)<\/li>\n<li>Smart cache, internally versioned (<code>CACHE_VERSION<\/code>)<\/li>\n<li>Automatic cache busting via <code>filemtime()<\/code> \u2014 CSS\/JS updates are instantly propagated<\/li>\n<li>Checkout layout forced to a clean single column (first name + last name remain on two columns)<\/li>\n<li>Data saved to the order + customer address + emails + admin (HPOS compatible)<\/li>\n<li>Real-time statistics + Dashboard Widget<\/li>\n<li>Transparent rate limiting with progress bars<\/li>\n<li>Support for all Romanian counties (complete county \u2192 ISO code mapping)<\/li>\n<li>WooCommerce HPOS compatible<\/li>\n<li>Romanian interface<\/li>\n<li>Complete cleanup on uninstall (multisite + <code>_site_transient_<\/code>, without a global <code>wp_cache_flush<\/code>)<\/li>\n<\/ul>","raw_excerpt":"Automatically populate WooCommerce business billing fields using a company's Romanian CUI and the Firmeinfo.ro API.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/391563","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=391563"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/oaspete"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=391563"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=391563"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=391563"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=391563"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=391563"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=391563"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}