{"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-21T10:09:39","modified_gmt":"2026-09-21T10:09:39","slug":"bulcommerce","status":"publish","type":"plugin","link":"https:\/\/ms.wordpress.org\/plugins\/bulcommerce\/","author":23364777,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.1","stable_tag":"1.5.1","tested":"7.1.1","requires":"6.5","requires_php":"8.1","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-21 10:09:39","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpsupporting.com\/store\/bulcommerce","header_author_uri":"https:\/\/wpsupporting.com\/","rating":3,"author_block_rating":0,"active_installs":0,"downloads":641,"num_ratings":2,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","faq","changelog"],"tags":{"1.4.10":{"tag":"1.4.10","author":"wpsupporting","date":"2026-09-15 20:51:56","revision":3697685},"1.4.11":{"tag":"1.4.11","author":"wpsupporting","date":"2026-09-18 23:11:28","revision":3702849},"1.4.3":{"tag":"1.4.3","author":"wpsupporting","date":"2026-09-06 08:54:40","revision":3683196},"1.4.4":{"tag":"1.4.4","author":"wpsupporting","date":"2026-09-06 09:10:26","revision":3683213},"1.4.5":{"tag":"1.4.5","author":"wpsupporting","date":"2026-09-06 10:27:28","revision":3683312},"1.4.6":{"tag":"1.4.6","author":"wpsupporting","date":"2026-09-06 21:21:37","revision":3683967},"1.4.7":{"tag":"1.4.7","author":"wpsupporting","date":"2026-09-08 16:22:55","revision":3687018},"1.4.8":{"tag":"1.4.8","author":"wpsupporting","date":"2026-09-13 22:37:12","revision":3694256},"1.5.0":{"tag":"1.5.0","author":"wpsupporting","date":"2026-09-19 19:40:11","revision":3703629},"1.5.1":{"tag":"1.5.1","author":"wpsupporting","date":"2026-09-21 10:09:39","revision":3705320}},"upgrade_notice":{"1.5.1":"<p>The setup wizard opens on the first activation; Microinvest export and the NRA audit file are now on\/off add-ons; a cleaner admin look and Bulgarian translation files for Loco.<\/p>","1.5.0":"<p>Major update. After updating, check Settings \u2192 Numbering (documents are paused until you do on shops with earlier orders) and the courier methods in your shipping zones.<\/p>"},"ratings":{"1":1,"2":0,"3":0,"4":0,"5":1},"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.4.10","1.4.11","1.4.3","1.4.4","1.4.5","1.4.6","1.4.7","1.4.8","1.5.0","1.5.1"],"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":[]},"plugin_section":[],"plugin_tags":[2986,181403,12480,19126,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-credit-note","plugin_tags-invoice","plugin_tags-vat","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":""},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-2.png?rev=3672836","caption":""},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-3.png?rev=3672836","caption":""},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-4.png?rev=3672836","caption":""},{"src":"https:\/\/ps.w.org\/bulcommerce\/assets\/screenshot-5.png?rev=3672836","caption":""}],"raw_content":"<!--section=description-->\n<ul>\n<li>Invoices, credit notes, proforma invoices, non-fiscal sales documents and order confirmations.<\/li>\n<li>Gap-free sequential 10-digit numbering, safe under concurrent orders.<\/li>\n<li>VAT breakdown by rate (20%, 9%, 0%), for both VAT-inclusive pricing and WooCommerce's own tax engine. Document totals always equal what the customer was charged; if they cannot, the document is not issued and you are alerted.<\/li>\n<li>Automatic credit notes for refunds and cancellations. When a refund cannot be attributed to a single VAT rate, no document is guessed: you get an alert and choose the rate yourself.<\/li>\n<li>Company details at checkout (classic and block checkout): company name, EIK with check-digit validation, VAT number verified with EU VIES, MOL and registered address.<\/li>\n<li>Couriers: Econt, Speedy, Pigeon Express and BOX NOW, with Sameday and euShipments in beta. Delivery to office, parcel locker or address on the classic and the block checkout: locality search, office list and map, address in parts with the courier's streets, price table or the courier's live price with automatic fallback, cash on delivery, waybills (create, change, print, cancel), tracking and optional completion on delivery.<\/li>\n<li>Checkout: compact layout without the address fields for a courier delivery, delivery options as cards, tiles or rows with courier logos, side cart, minimum order, cash on delivery hidden per courier, selling to other countries.<\/li>\n<li>Fiscal receipts on a fiscal device through ErpNet.FP, the NRA audit file (Ordinance N-18), Microinvest export, a document archive and the accountant's monthly e-mail.<\/li>\n<li>Cash on delivery: payout report, the month's deliveries at the shop's expense and an optional risk check (\u041d\u0435\u043f\u043e\u0421\u0442\u043e\u043f).<\/li>\n<\/ul>\n\n<h4>Fonts<\/h4>\n\n<p>PDF documents use the Inter typeface by The Inter Project Authors (https:\/\/github.com\/rsms\/inter), licensed under the SIL Open Font License 1.1. A Latin, Cyrillic and Greek subset is bundled in <code>assets\/fonts\/<\/code> together with the licence (<code>OFL.txt<\/code>); <code>tools\/build-font.php<\/code> rebuilds it.<\/p>\n\n<h3>External services<\/h3>\n\n<p>The plugin works without any external service until you switch one on. What follows is every service it can contact, what it sends and when.<\/p>\n\n<h4>Econt Express (courier)<\/h4>\n\n<p>Used when you enable Econt: to load its localities and offices, to ask for a delivery price at the checkout, to create, cancel and track a waybill and to download the label. Requests go to https:\/\/ee.econt.com\/services (or https:\/\/demo.econt.com\/ee\/services with the demo account) with the credentials you enter.<\/p>\n\n<p>Sent when you use those features: your sender details, the recipient's name, phone and e-mail, the chosen office or address, the parcel's weight, count and description, the cash-on-delivery amount and the order number. Nothing is sent for orders delivered by another method.<\/p>\n\n<p>Service by \"Econt Express\" OOD: https:\/\/www.econt.com\/ \u2014 terms: https:\/\/www.econt.com\/za-nas\/obshti-uslovia \u2014 privacy: https:\/\/www.econt.com\/politika-za-poveritelnost<\/p>\n\n<h4>Speedy (courier)<\/h4>\n\n<p>Used when you enable Speedy, for the same purposes and with the same kind of data as above. Requests go to https:\/\/api.speedy.bg\/v1 with the credentials you enter.<\/p>\n\n<p>Service by \"Speedy\" AD: https:\/\/www.speedy.bg\/ \u2014 terms: https:\/\/www.speedy.bg\/bg\/terms-and-conditions \u2014 privacy: https:\/\/www.speedy.bg\/bg\/gdpr<\/p>\n\n<h4>Pigeon Express (courier)<\/h4>\n\n<p>Used when you enable Pigeon Express, for the same purposes and with the same kind of data as above. Requests go to the API address of the account you enter (its sandbox or its production address).<\/p>\n\n<p>Service by \"Pigeon Express\": https:\/\/pigeonexpress.com\/ \u2014 terms: https:\/\/pigeonexpress.com\/terms \u2014 privacy: https:\/\/pigeonexpress.com\/privacy<\/p>\n\n<h4>VIES (VAT number check, European Commission)<\/h4>\n\n<p>Used when a buyer asks for a company invoice and VAT checking is on (it can be switched off in the settings, and then only the format is checked). The VAT number and its country code are sent to https:\/\/ec.europa.eu\/taxation_customs\/vies\/rest-api\/check-vat-number, which answers whether the number is registered and, when the country publishes them, the company name and address.<\/p>\n\n<p>Service by the European Commission: https:\/\/ec.europa.eu\/taxation_customs\/vies\/ \u2014 legal notice: https:\/\/ec.europa.eu\/info\/legal-notice_en \u2014 privacy: https:\/\/commission.europa.eu\/privacy-policy-websites-managed-european-commission_en<\/p>\n\n<h4>European Central Bank (exchange rates)<\/h4>\n\n<p>Used when \"Invoices for orders in another currency\" is on: the euro reference rates are downloaded from https:\/\/www.ecb.europa.eu\/stats\/eurofxref\/eurofxref-hist-90d.xml (and the full file when an older rate is needed) to convert an order into euro. No data about your shop, your orders or your buyers is sent.<\/p>\n\n<p>Service by the European Central Bank: https:\/\/www.ecb.europa.eu\/stats\/policy_and_exchange_rates\/euro_reference_exchange_rates\/html\/index.en.html \u2014 disclaimer and copyright: https:\/\/www.ecb.europa.eu\/services\/disclaimer\/html\/index.en.html \u2014 data protection: https:\/\/www.ecb.europa.eu\/services\/data-protection\/html\/index.en.html<\/p>\n\n<h4>\u041d\u0435\u043f\u043e\u0421\u0442\u043e\u043f (cash-on-delivery risk check, optional add-on)<\/h4>\n\n<p>Off by default. It works only after you switch the add-on on and enter your own API key. Before a cash-on-delivery order the buyer's phone number is sent to https:\/\/nepostop.com\/api\/v1 to ask how many of that phone's parcels were not collected. If you also switch on reporting, the phone number and the waybill number of your cash-on-delivery shipments are sent after they are created, so their outcome adds to the shared history. Tell your buyers about this check in your privacy policy.<\/p>\n\n<p>Service by \u041d\u0435\u043f\u043e\u0421\u0442\u043e\u043f: https:\/\/nepostop.com\/ \u2014 terms: https:\/\/nepostop.com\/terms \u2014 privacy: https:\/\/nepostop.com\/gdpr<\/p>\n\n<h4>euShipments, BOX NOW and Sameday<\/h4>\n\n<p>Three more couriers, used in the same way and with the same kind of data as the couriers above, each only after you switch it on and enter your account: euShipments (https:\/\/eushipments.com\/ \u2014 https:\/\/api1.inout.bg\/api\/v1, tests https:\/\/test-api.inout.bg\/api\/v1), BOX NOW (https:\/\/boxnow.bg\/ \u2014 the public locker list at https:\/\/locationapi-production.boxnow.bg (tests https:\/\/locationapi-stage.boxnow.bg) and the Partner API at https:\/\/api-production.boxnow.bg, tests https:\/\/api-stage.boxnow.bg) and Sameday (https:\/\/sameday.bg\/ \u2014 https:\/\/api.sameday.bg, tests https:\/\/sameday-api-bg.demo.zitec.com).<\/p>\n\n<p>This package contains no licence check and no update server of its own.<\/p>\n\n<h4>OpenStreetMap (map tiles, optional)<\/h4>\n\n<p>Off by default. When you choose to show a courier's offices on a map, the buyer's browser loads the map images from https:\/\/tile.openstreetmap.org when the map is shown, which sends the buyer's IP address and browser details to OpenStreetMap. Nothing about the order or the buyer is sent.<\/p>\n\n<p>Service by the OpenStreetMap Foundation: https:\/\/www.openstreetmap.org\/ \u2014 tile usage policy: https:\/\/operations.osmfoundation.org\/policies\/tiles\/ \u2014 privacy: https:\/\/osmfoundation.org\/wiki\/Privacy_Policy<\/p>\n\n<h4>Fiscal printer through ErpNet.FP (optional, local)<\/h4>\n\n<p>Off by default. When it is on, the plugin talks to the ErpNet.FP service at the address you enter, which is normally a computer in your own shop (for example http:\/\/localhost:8001). The sale's items, amounts and payment type are sent so the device can print the receipt. This is your own local network, not a service of ours. ErpNet.FP is free software: https:\/\/github.com\/erpnet\/ErpNet.FP<\/p>\n\n<p>The plugin makes no other external requests, and it collects no telemetry and no usage data.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"where%20do%20i%20get%20help%3F\"><h3>Where do I get help?<\/h3><\/dt>\n<dd><p>BulCommerce is made by wpsupporting. Product page: https:\/\/wpsupporting.com\/store\/bulcommerce \u2014 support: https:\/\/wpsupporting.com\/contact or info@wpsupporting.com (support policy: https:\/\/wpsupporting.com\/support-policy). Attach the diagnostic report from BulCommerce \u2192 Help.<\/p><\/dd>\n<dt id=\"is%20the%20%22sales%20document%22%20a%20fiscal%20receipt%3F\"><h3>Is the \"sales document\" a fiscal receipt?<\/h3><\/dt>\n<dd><p>No. A fiscal receipt must come from a registered fiscal device. The sales document is informational.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20documents%20when%20i%20uninstall%3F\"><h3>What happens to documents when I uninstall?<\/h3><\/dt>\n<dd><p>Settings, courier credentials, downloaded localities and cached tokens are removed. Issued documents stay in the database because they are accounting records you must keep.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Translations: the plugin now ships a Bulgarian .po and a .pot template, so shops can change any wording with Loco Translate (a custom translation in wp-content\/languages wins over the plugin's own). A compiled .mo is included too, so WordPress before 6.5 also shows the Bulgarian.<\/li>\n<li>Delivery design: the \"\u2248\" before a courier fee paid on delivery can be switched off (Checkout design \u2192 More), so prices are shown plainly.<\/li>\n<li>Add-on \"Checkout form\": the checkout fields are yours to order, rename, show or hide, and to ask for or leave optional \u2014 for billing and for delivery, in BulCommerce \u2192 Add-ons. Drag a row to move it, the eye hides it, the star asks for it. Switched off, WooCommerce's own fields are back, untouched. On the block checkout WooCommerce describes both addresses with the same fields, so there a field is hidden only when it is hidden for both and asked for only when both ask for it; the country and the e-mail stay as they are.<\/li>\n<li>Side cart: a promo code field in the panel (the discount shows at once) and a product on offer above the total \u2014 the newest product on sale or one you choose, hidden once it is in the cart.<\/li>\n<li>Add-on \"Side cart only\": the cart opens in a panel and its button leads to your own checkout page (the checkout itself is untouched). Its side, colours, corners, floating button, every text and the products offered under the cart (cross-sells of what is in the cart, or products from the same categories) are set in BulCommerce \u2192 Add-ons; a buyer adds an offered product in one click.<\/li>\n<li>Setup wizard: it opens by itself the first time BulCommerce is switched on, so setup can start at once (couriers, delivery, API access and the look of the checkout); it stays reachable from the menu.<\/li>\n<li>Add-ons \"Microinvest export\" and \"NRA audit file (Ordinance \u041d-18)\": each has its own on\/off switch now, like the other add-ons.<\/li>\n<li>Admin look: the buttons and section markers are drawn as clean icons; the top bar has a \"Questions\" link to the BulCommerce community group, and the checkout-template preview shows the real delivery layout.<\/li>\n<li>Support e-mail: info@wpsupporting.com.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>A new code base. On a shop with earlier orders, documents are paused on the first run until you check the numbering (Settings \u2192 Numbering), so no invoice number is used twice; delivery methods left in the zones by an earlier version are listed so you can replace them.<\/li>\n<li>Companies from other EU countries: services without Bulgarian VAT (art. 21, par. 2, reverse charge) and goods sent to another member state as an intra-Community supply at 0%, each with its own legal basis per line; the checkout shows the total without VAT once VIES confirms the VAT number (classic and block checkout).<\/li>\n<li>Ordinance \u041d-18 audit file follows the real sale: annulled documents are reported through the document issued in their place.<\/li>\n<li>VIES, courier and ECB requests work on hosts whose cURL uses OpenSSL 3.<\/li>\n<li>Waybills for any order: set up a courier delivery by hand, add a waybill made elsewhere by its number, or find an order's waybill in the Econt account (by the buyer's phone and the amount to collect), one order at a time or for a selection from the orders list.<\/li>\n<li>Econt agreements that require the contents described: the order lines are sent as a packing list that adds up to the cash on delivery, for waybills and live prices.<\/li>\n<li>Shipments of several parcels: one label page per parcel on the 10 \u00d7 15 and \"waybill only\" formats.<\/li>\n<li>Your own packagings per courier (\"Small box = 20x15x10 + 0.2\"), chosen on the order: size and weight go on the waybill.<\/li>\n<li>Monthly report \"Deliveries at our expense\" on the cash-on-delivery page: what the couriers were paid, of which for free deliveries, what buyers paid for delivery, and the difference; CSV export.<\/li>\n<li>Speedy: inspection or test before paying the cash on delivery with the return payer; the postal money transfer setting is checked with Speedy when it is chosen.<\/li>\n<li>Parcel lockers never offer cash on delivery (classic and block checkout, and the order payment page).<\/li>\n<li>The order address names the courier office and gives its street.<\/li>\n<li>WooCommerce's own \"Company name\" field can be hidden at checkout (on by default).<\/li>\n<li>Localities and offices are kept in their own table; dashboard figures are cached.<\/li>\n<li>The cash-on-delivery risk check is set up with the add-ons.<\/li>\n<li>Fixes from three independent reviews: free shipping threshold on the whole cart, declared value with VAT after discounts, translations after a language switch, safer upgrades and more.<\/li>\n<li>No paid edition in features: BOX NOW, Sameday and euShipments are part of the plugin (Sameday and euShipments in beta).<\/li>\n<li>Office map right in the checkout or behind a button, per courier; a map of every office before a town is chosen.<\/li>\n<li>Delivery to an address in parts (street or quarter from the courier's list, number, block, entrance, floor, apartment) for Econt, Speedy and Pigeon Express.<\/li>\n<li>Add-ons: minimum order, cash on delivery hidden per courier, selling to other countries; each with its own settings screen.<\/li>\n<li>The sales document can have its own moment of issue (e.g. \"processing\"), apart from the invoice.<\/li>\n<li>Live prices with cash on delivery include the courier's fee on the delivery too, as the waybill does.<\/li>\n<li>Pigeon Express: environment chosen from a list; a box size is required and used for checkout prices.<\/li>\n<li>Author wpsupporting; product and support links.<\/li>\n<\/ul>","raw_excerpt":"Bulgarian invoices, credit notes and company billing details for WooCommerce.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/336998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=336998"}],"author":[{"embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/wpsupporting"}],"wp:attachment":[{"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=336998"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=336998"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=336998"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=336998"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=336998"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/ms.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=336998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}