{"id":336998,"date":"2026-08-30T05:55:17","date_gmt":"2026-08-30T05:55:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/targo-bg\/"},"modified":"2026-09-03T18:23:56","modified_gmt":"2026-09-03T18:23:56","slug":"bulcommerce","status":"publish","type":"plugin","link":"https:\/\/ast.wordpress.org\/plugins\/bulcommerce\/","author":23364777,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.3.7","stable_tag":"1.3.7","tested":"7.1","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"BulCommerce","header_author":"wpsupporting","header_description":"Optimised WooCommerce checkout with invoices, NRA \u041d-18 fiscal compliance, and native Econt & Speedy courier integrations \u2014 built for Bulgarian online stores.","assets_banners_color":"4559c1","last_updated":"2026-09-03 18:23:56","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/bulcommerce\/","header_author_uri":"https:\/\/wpsupporting.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":245,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.2":{"tag":"1.2","author":"wpsupporting","date":"2026-08-30 06:00:49","revision":3672084},"1.3":{"tag":"1.3","author":"wpsupporting","date":"2026-08-30 16:22:57","revision":3672837},"1.3.1":{"tag":"1.3.1","author":"wpsupporting","date":"2026-08-31 09:01:39","revision":3673711},"1.3.2":{"tag":"1.3.2","author":"wpsupporting","date":"2026-08-31 09:27:57","revision":3673759},"1.3.3":{"tag":"1.3.3","author":"wpsupporting","date":"2026-08-31 19:23:33","revision":3674860},"1.3.4":{"tag":"1.3.4","author":"wpsupporting","date":"2026-09-01 08:47:17","revision":3675685},"1.3.5":{"tag":"1.3.5","author":"wpsupporting","date":"2026-09-02 10:36:43","revision":3677770},"1.3.6":{"tag":"1.3.6","author":"wpsupporting","date":"2026-09-03 11:15:40","revision":3679611},"1.3.7":{"tag":"1.3.7","author":"wpsupporting","date":"2026-09-03 18:23:56","revision":3680211}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3672836,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3672836,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3672836,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3672836,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.2","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.3.5","1.3.6","1.3.7"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3672836,"resolution":"1","location":"assets","locale":"","width":1728,"height":880},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3672836,"resolution":"2","location":"assets","locale":"","width":1733,"height":904},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3672836,"resolution":"3","location":"assets","locale":"","width":1712,"height":870},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3672836,"resolution":"4","location":"assets","locale":"","width":1697,"height":879},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3672836,"resolution":"5","location":"assets","locale":"","width":1069,"height":623}},"screenshots":{"1":"Shipping Methods \u2014 enable Econt and\/or Speedy, each with its own WooCommerce shipping zones and instance count at a glance.","2":"Shipping Methods \u2014 a courier fully configured and active, ready to take orders.","3":"Checkout design \u2014 customize the courier logo buttons (colors, borders, sizes) with a live preview.","4":"Addons \u2014 turn on invoices &amp; H-18 documents, dual BGN\/EUR pricing, the nepostop.com risk check and other optional modules.","5":"Checkout \u2014 the customer picks an Econt office with a live city\/office search, right at checkout."}},"plugin_section":[],"plugin_tags":[2986,31179,12480,3546,286],"plugin_category":[45],"plugin_contributors":[248642],"plugin_business_model":[],"class_list":["post-336998","plugin","type-plugin","status-publish","hentry","plugin_tags-bulgaria","plugin_tags-cash-on-delivery","plugin_tags-invoice","plugin_tags-shipping","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_contributors-wpsupporting","plugin_committers-wpsupporting"],"banners":{"banner":"https:\/\/ps.w.org\/bulcommerce\/assets\/banner-772x250.png?rev=3672836","banner_2x":"https:\/\/ps.w.org\/bulcommerce\/assets\/banner-1544x500.png?rev=3672836","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/bulcommerce\/assets\/icon-128x128.png?rev=3672836","icon_2x":"https:\/\/ps.w.org\/bulcommerce\/assets\/icon-256x256.png?rev=3672836","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-1.png?rev=3672836","caption":"Shipping Methods \u2014 enable Econt and\/or Speedy, each with its own WooCommerce shipping zones and instance count at a glance."},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-2.png?rev=3672836","caption":"Shipping Methods \u2014 a courier fully configured and active, ready to take orders."},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-3.png?rev=3672836","caption":"Checkout design \u2014 customize the courier logo buttons (colors, borders, sizes) with a live preview."},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-4.png?rev=3672836","caption":"Addons \u2014 turn on invoices &amp; H-18 documents, dual BGN\/EUR pricing, the nepostop.com risk check and other optional modules."},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-5.png?rev=3672836","caption":"Checkout \u2014 the customer picks an Econt office with a live city\/office search, right at checkout."}],"raw_content":"<!--section=description-->\n<p>BulCommerce extends WooCommerce with what a Bulgarian store needs to work under the local rules \u2014 from fiscal reporting to courier delivery and customer risk checks.<\/p>\n\n<p><strong>Documents and compliance<\/strong><\/p>\n\n<ul>\n<li>Audit XML file per NRA Ordinance H-18, ready to submit to the revenue agency.<\/li>\n<li>Order document, invoice and credit note on refund \u2014 generated automatically when the order is placed.<\/li>\n<li>Export of invoices and credit notes in Microinvest Delta format.<\/li>\n<li>Company billing fields (company name, UIC\/EIK, MOL, VAT number) on the checkout.<\/li>\n<li>VAT number validation against the European VIES system.<\/li>\n<li>Automatic company-details lookup by UIC\/EIK.<\/li>\n<\/ul>\n\n<p><strong>Courier delivery<\/strong><\/p>\n\n<p>Separate methods for address and for office\/locker delivery, with real-time search against each carrier's official API:<\/p>\n\n<ul>\n<li><a href=\"https:\/\/www.econt.com\/\">Econt<\/a><\/li>\n<li><a href=\"https:\/\/speedy.bg\/\">Speedy<\/a><\/li>\n<\/ul>\n\n<p><strong>Checkout and pricing<\/strong><\/p>\n\n<ul>\n<li>A more compact checkout: the country, region, postcode and address fields are hidden and replaced by a single locality search field that loads cities directly from the courier API. The country field can be restored if you also sell abroad.<\/li>\n<li>Classic and Modern layouts for the shipping method selector.<\/li>\n<li>Automatic order status updates based on the waybill status.<\/li>\n<li>Show prices in both BGN and EUR at the same time.<\/li>\n<\/ul>\n\n<p><strong>Customer risk checks<\/strong><\/p>\n\n<ul>\n<li>Check the customer against the nepostop.com database (with your own API key) and optionally block cash on delivery for a flagged phone number, with a notice or a popup, plus a customer-status column in the orders list.<\/li>\n<\/ul>\n\n<p><strong>Cash on delivery<\/strong><\/p>\n\n<ul>\n<li>A cash-on-delivery module and a dashboard summary of orders and amounts.<\/li>\n<\/ul>\n\n<h3>External services<\/h3>\n\n<p>To automate delivery and order checks, BulCommerce connects to external services. The list below shows each service, the endpoints it contacts, and what data is sent.<\/p>\n\n<p>Courier services \u2014 creating and managing waybills, loading offices\/lockers and tracking links. A connection happens only when you enable the courier and enter its credentials:<\/p>\n\n<ul>\n<li>Econt ( <a href=\"https:\/\/www.econt.com\/econt-express\/terms-of-use\">terms<\/a> ) \u2014 https:\/\/www.econt.com\/, http:\/\/ee.econt.com\/, http:\/\/demo.econt.com\/, https:\/\/delivery.econt.com\/<\/li>\n<li>Speedy ( <a href=\"https:\/\/api.speedy.bg\/api\/docs\/#href-terms\">terms<\/a> ) \u2014 https:\/\/www.speedy.bg\/, https:\/\/api.speedy.bg\/<\/li>\n<\/ul>\n\n<p>Customer risk checks (optional, only with your own API key):<\/p>\n\n<ul>\n<li>nepostop.com ( <a href=\"https:\/\/nepostop.com\/terms\">terms<\/a>, <a href=\"https:\/\/nepostop.com\/gdpr\">privacy policy<\/a> ) \u2014 https:\/\/nepostop.com\/api\/v1\/phone-check, https:\/\/nepostop.com\/api\/v1\/shipments<\/li>\n<\/ul>\n\n<p>VAT number validation (optional, when the VIES check is enabled):<\/p>\n\n<ul>\n<li>European VIES system \u2014 https:\/\/ec.europa.eu\/taxation_customs\/vies\/<\/li>\n<\/ul>\n\n<p>The couriers and nepostop.com may receive the data needed for delivery and checks: recipient name and address, phone, email, order value and cash-on-delivery amount. Data leaves the store only to process and deliver the order, or to assess the risk of abuse. The plugin sends no telemetry.<\/p>\n\n<h3>Credits<\/h3>\n\n<p>Bundled third-party libraries:<\/p>\n\n<ul>\n<li>nra-audit-generator (modified) \u2014 https:\/\/github.com\/escapeboy\/nra-audit-generator<\/li>\n<li>php-qrcode \u2014 https:\/\/github.com\/chillerlan\/php-qrcode<\/li>\n<li>vatin \u2014 https:\/\/github.com\/ddeboer\/vatin<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>bulcommerce<\/code> folder to <code>wp-content\/plugins\/<\/code>, or install the ZIP via <strong>Plugins &gt; Add New &gt; Upload<\/strong>.<\/li>\n<li>Activate BulCommerce from the <strong>Plugins<\/strong> menu.<\/li>\n<li>Open the plugin settings and fill in the company details and document numbering.<\/li>\n<li>Enable Econt and\/or Speedy from the main settings. After saving and reloading, each enabled courier gets its own settings tab.<\/li>\n<li>Add the shipping methods with the built-in Setup Wizard, or from the <strong>Shipping Methods<\/strong> tab's \"Manage zones\" button \u2014 both create the Bulgaria shipping zone and add the courier methods for you, no manual digging in WooCommerce's own shipping-zone screens required.<\/li>\n<li>For customer checks, enable the option in the main settings and enter your own nepostop.com API key in the tab that appears.<\/li>\n<\/ol>\n\n<p>If you are unsure about an accounting field, consult your accountant.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20need%20a%20contract%20with%20the%20couriers%3F\"><h3>Do I need a contract with the couriers?<\/h3><\/dt>\n<dd><p>Yes. Waybills are created through the official Econt and Speedy APIs, so you need an active client account \/ API access with the carrier, which you enter in its settings tab.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20high-performance%20order%20storage%20%28hpos%29%3F\"><h3>Does it work with High-Performance Order Storage (HPOS)?<\/h3><\/dt>\n<dd><p>Yes. The admin screens and order columns support both the classic storage and HPOS.<\/p><\/dd>\n<dt id=\"what%20language%20are%20the%20strings%20in%20and%20can%20i%20translate%20them%3F\"><h3>What language are the strings in and can I translate them?<\/h3><\/dt>\n<dd><p>The source strings are in English and follow the standard WordPress translation mechanism, so the plugin can be localized. A Bulgarian translation is bundled.<\/p><\/dd>\n<dt id=\"when%20are%20the%20documents%20generated%3F\"><h3>When are the documents generated?<\/h3><\/dt>\n<dd><p>The order document and the invoice are created when the order is placed; the credit note is created on a return\/refund.<\/p><\/dd>\n<dt id=\"is%20there%20a%20paid%20version%3F\"><h3>Is there a paid version?<\/h3><\/dt>\n<dd><p>Yes. The paid version adds more couriers (BOX NOW, Sameday, Pigeon, euShipments), a shared customer-risk network, extra checkout templates and more modules. The free version is a fully functional standalone plugin without it.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.3.7<\/h4>\n\n<p>Fix: the Econt waybill preview could show a raw \"FPDF error: Missing or incorrect image file\" instead of the label. Econt's print service fails intermittently; the plugin now retries it before giving up, and shows a clear message rather than the courier's error page if the waybill still cannot be fetched.\nFix: the waybill preview ignored the print size chosen in the Econt settings and always used 10x9.\nFix: the \"Print waybill\" link could stop working and answer \"-1\" when the order screen had been left open for a long time.<\/p>\n\n<h4>1.3.6<\/h4>\n\n<p>Improved: the QR code on invoices and NRA documents is noticeably larger, so it scans reliably. The fiscal (Ordinance H-18) QR in particular was being printed far too small.\nImproved: the city dropdown at checkout now lists each city on two lines (name, then region and post code), matching the office pickers.\nFix: on the Orders screen, a courier logo with wide proportions could overflow the \"Carrier\" column and run into the next one.<\/p>\n\n<h4>1.3.5<\/h4>\n\n<p>Fix: Speedy shipping rates could fail with a critical error when tax calculation was enabled (a missing class reference now resolves correctly).\nFix: the Cash on Delivery panel's live total\/status update (after \"mark received\") now respects the store's configured decimal separator instead of always showing a period.\nFix: a rare timing issue could let a GDPR erase (or un-flagging a phone number) silently drop a risk report added moments earlier.\nFix: buyer risk-check (NepoStop) connection failures are now logged, so a merchant can tell risk-checking silently stopped working during an outage instead of finding out with no trace afterward.<\/p>\n\n<h4>1.3.4<\/h4>\n\n<p>Fix: the Dashboard's \"Orders by courier\" panel showed a critical error on every site \u2014 a helper function used to render each courier's icon was missing from the 1.3.3 package. Update as soon as possible if you're on 1.3.3.<\/p>\n\n<h4>1.3.3<\/h4>\n\n<p>Fix: NRA credit-note\/refund documents and the Microinvest Delta invoice-date column could print the wrong day near local midnight (timezone offset applied twice).\nFix: the Dashboard's daily revenue chart could mislabel days near local midnight for the same reason.\nFix: Dashboard \"best-selling products\" undercounted decimal-quantity sales; the Dashboard\/COD money display now respects the store's configured decimal separator instead of a hardcoded period.\nFix: the Speedy COD label panel now nets out already-refunded amounts instead of pre-filling the pre-refund total.<\/p>\n\n<h4>1.3.2<\/h4>\n\n<p>Fix: several Bulgarian translation strings that were missing on the \"Own delivery \/ Pickup\" settings and the Accountant addon's digest-day field.\nImproved: the Installation instructions now describe the automated Setup Wizard \/ \"Manage zones\" shipping setup instead of the older manual steps.<\/p>\n\n<h4>1.3.1<\/h4>\n\n<p>Fix: checkout could fail with a fatal error when \"Hide delivery line from documents\" (NRA \/ Fiscal settings) was enabled \u2014 a leftover call from the 1.3 refund-shipping fix was missing an argument. If you use that setting, update as soon as possible.<\/p>\n\n<h4>1.3<\/h4>\n\n<p>New: an explicit \"who pays the courier?\" setting for Speedy, decoupled from whether pricing is fixed or live.\nNew: option to show the order number instead of the product list in the Speedy waybill content field.\nFix: Speedy orders now correctly fold the shipping cost into cash-on-delivery in every pricing mode, not just fixed-price.\nFix: cash-on-delivery on Speedy orders is now taken from the order's real payment method instead of a checkout-time cookie, so it can no longer go out uncollected (or stay demanded) if the customer changes payment method after choosing a shipping option.\nFix: a credit note \/ refund document no longer loses its shipping line item when generated for a fully refunded, cash-on-delivery courier order.\nFix: the Setup Wizard's \"buyer risk check\" step now links directly to a free nepostop.com signup and explains that a nepostop.com API key still needs to be entered under Risk checks to activate it.\nFix: several Setup Wizard screens that were showing English text even when the site language was set to Bulgarian.<\/p>\n\n<h4>1.2<\/h4>\n\n<p>First release on WordPress.org.<\/p>\n\n<p>Fiscal documents: audit XML per NRA Ordinance H-18, order document, invoice and credit note generated from the order, and a Microinvest Delta export. Company billing fields (name, UIC\/EIK, MOL, VAT number) with VIES validation and automatic company lookup by UIC\/EIK.<\/p>\n\n<p>Courier delivery: Econt and Speedy, to address and to office\/locker, with live rates from each carrier's API, office and street search, waybill creation and printing, and automatic order status updates from the waybill.<\/p>\n\n<p>Checkout: a compact layout that replaces country\/region\/postcode\/address with a single locality search fed by the courier's own city database, Classic and Modern shipping-method layouts, and prices shown in both BGN and EUR.<\/p>\n\n<p>Own delivery \/ Pickup: run deliveries yourself with no courier account \u2014 home delivery and\/or pickup from one of your own locations, with a flat price per mode and an optional free-shipping threshold.<\/p>\n\n<p>Customer risk checks (optional): check the buyer's phone against nepostop.com with your own API key, with an orders-list column and the option to withhold cash on delivery from a flagged number.<\/p>\n\n<p>Cash on delivery: a dedicated module with a dashboard summary of orders and amounts.<\/p>","raw_excerpt":"NRA Ordinance H-18 fiscal documents, Econt and Speedy waybills and a compact checkout for Bulgarian WooCommerce stores.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=336998"}],"author":[{"embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpsupporting"}],"wp:attachment":[{"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336998"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336998"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336998"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336998"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336998"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ast.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}