Опис
- Invoices, credit notes, proforma invoices, non-fiscal sales documents and order confirmations.
- Gap-free sequential 10-digit numbering, safe under concurrent orders.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- Cash on delivery: payout report, the month’s deliveries at the shop’s expense and an optional risk check (НепоСтоп).
Fonts
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 assets/fonts/ together with the licence (OFL.txt); tools/build-font.php rebuilds it.
External services
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.
Econt Express (courier)
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.
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.
Service by „Econt Express“ OOD: https://www.econt.com/ — terms: https://www.econt.com/za-nas/obshti-uslovia — privacy: https://www.econt.com/politika-za-poveritelnost
Speedy (courier)
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.
Service by „Speedy“ AD: https://www.speedy.bg/ — terms: https://www.speedy.bg/bg/terms-and-conditions — privacy: https://www.speedy.bg/bg/gdpr
Pigeon Express (courier)
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).
Service by „Pigeon Express“: https://pigeonexpress.com/ — terms: https://pigeonexpress.com/terms — privacy: https://pigeonexpress.com/privacy
VIES (VAT number check, European Commission)
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.
Service by the European Commission: https://ec.europa.eu/taxation_customs/vies/ — legal notice: https://ec.europa.eu/info/legal-notice_en — privacy: https://commission.europa.eu/privacy-policy-websites-managed-european-commission_en
European Central Bank (exchange rates)
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.
Service by the European Central Bank: https://www.ecb.europa.eu/stats/policy_and_exchange_rates/euro_reference_exchange_rates/html/index.en.html — disclaimer and copyright: https://www.ecb.europa.eu/services/disclaimer/html/index.en.html — data protection: https://www.ecb.europa.eu/services/data-protection/html/index.en.html
НепоСтоп (cash-on-delivery risk check, optional add-on)
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.
Service by НепоСтоп: https://nepostop.com/ — terms: https://nepostop.com/terms — privacy: https://nepostop.com/gdpr
euShipments, BOX NOW and Sameday
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/ — https://api1.inout.bg/api/v1, tests https://test-api.inout.bg/api/v1), BOX NOW (https://boxnow.bg/ — 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/ — https://api.sameday.bg, tests https://sameday-api-bg.demo.zitec.com).
This package contains no licence check and no update server of its own.
OpenStreetMap (map tiles, optional)
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.
Service by the OpenStreetMap Foundation: https://www.openstreetmap.org/ — tile usage policy: https://operations.osmfoundation.org/policies/tiles/ — privacy: https://osmfoundation.org/wiki/Privacy_Policy
Fiscal printer through ErpNet.FP (optional, local)
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
The plugin makes no other external requests, and it collects no telemetry and no usage data.
ЧПП
Where do I get help?
BulCommerce is made by wpsupporting. Product page: https://wpsupporting.com/store/bulcommerce — support: https://wpsupporting.com/contact or support@wpsupporting.com (support policy: https://wpsupporting.com/support-policy). Attach the diagnostic report from BulCommerce Help.
Is the „sales document“ a fiscal receipt?
No. A fiscal receipt must come from a registered fiscal device. The sales document is informational.
What happens to documents when I uninstall?
Settings, courier credentials, downloaded localities and cached tokens are removed. Issued documents stay in the database because they are accounting records you must keep.
Прегледи
Сарадници и градитељи
Преведите BulCommerce на свој језик.
Заинтересовани сте за градњу?
Прегледајте код, проверите SVN складиште или се пријавите на белешку градње преко RSS-а.
Белешка о изменама
1.5.0
- A new code base. On a shop with earlier orders, documents are paused on the first run until you check the numbering (Settings 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.
- 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).
- Ordinance Н-18 audit file follows the real sale: annulled documents are reported through the document issued in their place.
- VIES, courier and ECB requests work on hosts whose cURL uses OpenSSL 3.
- 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.
- 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.
- Shipments of several parcels: one label page per parcel on the 10 × 15 and „waybill only“ formats.
- Your own packagings per courier („Small box = 20x15x10 + 0.2“), chosen on the order: size and weight go on the waybill.
- 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.
- 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.
- Parcel lockers never offer cash on delivery (classic and block checkout, and the order payment page).
- The order address names the courier office and gives its street.
- WooCommerce’s own „Company name“ field can be hidden at checkout (on by default).
- Localities and offices are kept in their own table; dashboard figures are cached.
- The cash-on-delivery risk check is set up with the add-ons.
- 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.
- No paid edition in features: BOX NOW, Sameday and euShipments are part of the plugin (Sameday and euShipments in beta).
- Office map right in the checkout or behind a button, per courier; a map of every office before a town is chosen.
- 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.
- Add-ons: minimum order, cash on delivery hidden per courier, selling to other countries; each with its own settings screen.
- The sales document can have its own moment of issue (e.g. „processing“), apart from the invoice.
- Live prices with cash on delivery include the courier’s fee on the delivery too, as the waybill does.
- Pigeon Express: environment chosen from a list; a box size is required and used for checkout prices.
- Author wpsupporting; product and support links.
0.1.0
- Own admin menu „BulCommerce“: dashboard, cash-on-delivery report with payout confirmation and CSV export, settings, couriers, checkout design with live preview, checkout templates, add-ons, help with diagnostics, about; new setup wizard; plugin language independent of WordPress.
- Delivery options as cards, tiles or rows with courier logos, optional Office / Locker / Address tabs, office search with „nearest to me“.
- Block checkout: company invoice fields appear only after „I need an invoice for a company“ is ticked.
- Company invoice details „Automatically by EIK“ (from the EU VAT register) or „Fill in by hand“, as tabs on both checkouts.
- Econt, Speedy and Pigeon Express: separate „to parcel locker“ delivery methods with their own price, next to „to office“ and „to address“; adding a courier to a zone adds all three and keeps offices and lockers apart.
- Econt waybills can be changed after creation (weight, parcels, office, services) without cancelling them.
- Order screen: „Courier shipment“ box with editable, pre-filled sections (sender and delivery, parcel with type, weight and size, payment and services) and „Save and create waybill“.
- Order screen: courier shipping line shows the shipment (office or address, parcel, cash on delivery, who pays) and, in Edit, lets the merchant change them for the waybill.
- Couriers: shipping zones managed in a pop-up (add to a country with a searchable list, switch, edit price, remove, delete zone); only couriers in use are listed in the courier tabs.
- The plugin is named BulCommerce everywhere (plugin folder and main file
bulcommerce/bulcommerce.php, text domainbulcommerce). - Econt labels print on a page of the label’s size (10 × 9 cm) or as a 10 × 15 cm label instead of a corner of an A4 sheet.
- Orders list: Delivery column with the courier, office or address and the waybill status.
- Order screen: Create waybill, View label and Print label next to the title.
- The checkout phone is required while a courier is switched on (couriers refuse waybills without it).
- Settings switch to hide the checkout address fields when a courier delivery or pickup from the shop is chosen (the order address comes from the courier choice).
- Fiscal receipts on a fiscal device through ErpNet.FP (optional).
- Document archive (ZIP with PDFs, CSV register, Microinvest file) and monthly e-mail to the accountant.
- Side cart. Compact layout on the block checkout.
- Paid edition: licence and automatic updates; BOX NOW delivery to address and status webhook.
- Company details filled in from the EIK (VIES); courier delivery for carts in several packages; invoices for orders in other currencies at the ECB rate.
- PDF invoices, credit notes and other documents; optional PDF attachments to customer emails.
- NRA audit file keeps the settings each month was downloaded with.
- Lost and returned parcels detected for BOX NOW and Sameday; returned parcels never complete an order.
- Microinvest Delta Pro export of invoices and credit notes (Import.txt).
- Cash-on-delivery risk check (НепоСтоп): block, warn or flag risky phone numbers.
- Courier office / locker / address pickers on the block checkout; compact classic checkout.
- Dashboard, setup wizard.
- Paid edition: euShipments cross-border delivery.
- NRA standardised audit file (Ordinance N-18, Appendix 38): monthly check and XML download.
- Paid edition: BOX NOW (parcel lockers) and Sameday (lockers and address delivery).
- First development version: fiscal documents core, company billing details, VIES.
- Credit notes track base and VAT per rate, so any sequence of refunds or a cancellation credits exactly what was invoiced.
- WooCommerce tax engine: lines with fractions of a cent and subtotal-level tax rounding reconcile to the charged total.
- Documents are issued before WooCommerce’s customer emails, so the emails link to them.
- Refunds made before the invoice, refunds after cancellation, zero refunds and reinstated orders are handled without false alerts.
- Concurrent credit notes can never credit more than the invoice.
- Invoices refuse non-EUR currency, a missing 0% / non-VAT legal basis, and an invalid buyer EIK.
- Foreign EU companies can request an invoice with their VAT number.





