Wijzigingslogboek

Volg elke update in al onze producten.

FakturaPL

v1.0.2

2026-05-09

Fixed โ€” Invoice data integrity (3 critical bugs)

  • โ€ข**Tax number fallback no longer ships garbage strings** โ€” when `address->dni` or `address->vat_number` contains a non-numeric value (e.g. `"dni"`, `"BRAK"`, `"NIP"`, dashes), the module now sends an empty `buyer_tax_no` instead of the literal string. Affected invoices previously rendered `buyer_tax_no="dni"` or `buyer_tax_no="BRAK"` โ€” Fakturownia accepted these as `tax_no_kind=other` and they appeared on customer-facing invoices. Polish NIP normalization (10-digit clean) is unchanged; only the broken raw fallback was removed.
  • โ€ข**`buyer_company` flag decoupled from NIP validity** โ€” previously a B2B order with a missing or mistyped NIP was silently downgraded to B2C, so the invoice was issued to the customer's personal name instead of their company. Now whenever the address has a non-empty `company` field, `buyer_company=1` regardless of NIP state, and the same logic applies to the `vat_or_receipt` auto-kind selector. Customers who entered a company name now consistently get a VAT invoice issued to that company.
  • โ€ข**`vat_or_receipt` auto-kind no longer requires a valid NIP** โ€” same fix as above, applied in `InvoiceBuilder::withAutoKind()` so the document type matches what the customer entered, not whether their NIP passed validation.

Compatibility

  • โ€ขNo DB migrations. No config changes required.
  • โ€ขExisting invoices in Fakturownia are unaffected; only invoices issued **after** the upgrade benefit from the fix.
  • โ€ขIf you have historical addresses polluted with literal `"dni"`/`"BRAK"` in the `dni` column (some checkout modules write a placeholder), run: `UPDATE ps_address SET dni='' WHERE dni IN ('dni','BRAK','brak','-','NIP','PESEL') OR UPPER(dni) IN ('NONE','N/A','NA');`
Fakturownia Pro WC

v1.0.2

2026-05-09

Fixed โ€” Tax number garbage-string protection

  • โ€ข**Buyer tax number now routed through `TaxValidator::extractTaxNumber()`** โ€” previously the WooCommerce builder passed the raw `_billing_vat_number` / `_billing_nip` meta value directly to Fakturownia. Polish NIPs entered with dashes (`"586-010-30-90"`), spaces, or `PL` prefix (`"PL5860103090"`) are now normalized to clean 10-digit format. Junk inputs (`"BRAK"`, `"dni"`, random text) are dropped to empty rather than shipped to Fakturownia.
  • โ€ข**`buyer_tax_no_kind` correctly set per Fakturownia post-KSeF schema** โ€” Polish NIPs send `kind=''` (default NIP), EU VAT numbers send `kind='nip_ue'`, others send `kind='other'`.

Internal

  • โ€ขBumped shared `softbla/fakturapl-core` dependency to `^1.0.1` which contains the underlying TaxValidator fallback fix.
  • โ€ข`WooAddressAdapter::isCompany()` is unchanged (already correctly based on billing-company field presence alone, not coupled to NIP validity).

Compatibility

  • โ€ขNo DB migrations. No config changes required.
  • โ€ขExisting Fakturownia invoices are unaffected; only invoices issued **after** the upgrade benefit from the fix.
Fakturownia Pro M2

v1.0.2

2026-05-09

Fixed โ€” Tax number garbage-string protection (via shared core)

  • โ€ข**Bumped `softbla/fakturapl-core` to `^1.0.1`** โ€” contains the underlying TaxValidator fix. Magento 2 customers entering a Polish NIP that fails normalization (junk like `"BRAK"`, `"dni"`, dashes, or `PL` prefix) now get an empty `buyer_tax_no` on the invoice rather than the raw garbage string.

Internal

  • โ€ขNo code changes in `MagentoBuyerBuilder` โ€” already correctly:
  • โ€ขComposer dependency bump only.

Compatibility

  • โ€ขRun `composer update softbla/fakturapl-core` after pulling this release.
  • โ€ขNo DB migrations. No config changes required.
  • โ€ขExisting Fakturownia invoices are unaffected.
FakturaPL

v1.0.0

2026-03-30

Added โ€” Invoice Rules

  • โ€ข**"Also Mark as Paid" checkbox** on create-invoice rules โ€” create a VAT Invoice or Proforma and simultaneously mark it as paid in Fakturownia in a single rule, eliminating the need for a separate "Mark as Paid" step

Added โ€” Document Settings (9 new settings)

  • โ€ข**Sell Date Source** โ€” choose between order date and invoice creation date for the invoice sell date
  • โ€ข**Payment Terms** โ€” set payment deadlines: 5, 7, 10, 14, 21, 30, 60, or 90 days, end of month, or custom
  • โ€ข**Internal Note** โ€” pass PrestaShop order notes to Fakturownia's internal note field (panel-only, not printed on invoice)
  • โ€ข**Notes Before Positions** โ€” custom text printed above the invoice line-item table
  • โ€ข**Notes After Positions** โ€” custom text printed below the invoice line-item table
  • โ€ข**Seller Name Override** โ€” override the default seller name from your Fakturownia account per-module
  • โ€ข**Seller Contact Person** โ€” set a contact person name on invoices
  • โ€ข**Show Bank Account** โ€” toggle bank account visibility on invoices

Improved โ€” Compliance

  • โ€ข**OSS Validation** โ€” now verifies that the buyer's country differs from the shop country AND is an EU member state before applying the OSS flag; prevents incorrect flagging for non-EU destinations (UK, Norway, Switzerland, etc.)
  • โ€ข**Reverse Charge** โ€” when enabled, automatically sets tax to "exempt" (zw) on all positions, hides the tax column, and appends a reverse charge note to the invoice description

Security

  • โ€ขAPI tokens are sanitized from all log entries and error messages โ€” tokens are never written to disk or displayed in the back office
  • โ€ขWebhook HMAC-SHA256 verification now uses timing-safe comparison to prevent timing-based forgery attacks
  • โ€ขAll admin-displayed invoice data is HTML-escaped (XSS protection)
  • โ€ขWebhook idempotency prevents duplicate processing when the same event is delivered more than once

Performance

  • โ€ข**PDF caching (24h)** โ€” invoice PDFs are cached locally; repeat requests are served from cache without an API call
  • โ€ข**PDF streaming** โ€” large PDFs are streamed to a temp file rather than loaded fully into memory
  • โ€ขDatabase indexes added on frequently queried columns (`id_order`, `id_invoice`, `status`)
  • โ€ขBulk operations continue on individual failure instead of aborting the entire batch

New API Fields

  • โ€ข`sell_date`, `issue_date`, `paid_date` โ€” full date control
  • โ€ข`payment_to`, `payment_to_kind` โ€” payment term deadlines
  • โ€ข`internal_note` โ€” order notes passthrough
  • โ€ข`notes_before_positions`, `notes_after_positions`
  • โ€ข`seller_name`, `seller_person` โ€” seller overrides
  • โ€ข`show_bank_account` โ€” display toggle
  • โ€ข`quantity_unit` โ€” per-position unit (szt., kpl., godz.)
  • โ€ข`additional_info` โ€” PKWiU codes per position
  • โ€ข`exchange_currency`, `exchange_kind`, `exchange_currency_rate` โ€” multi-currency support
  • โ€ข`exempt_tax_kind`, `np_tax_kind` โ€” KSeF tax markers
  • โ€ข`cancel_reason` โ€” reason for invoice cancellation

Fixed

  • โ€ข**NIP normalization** โ€” Polish NIP numbers are now normalized before being sent to Fakturownia (strips PL prefix, dashes, and spaces). Resolves an issue where NIPs from some checkout modules were passed in a format Fakturownia rejected.
  • โ€ข**Partial refund corrections** โ€” correction invoices now reflect the actual refunded amount instead of reversing the full invoice
  • โ€ข**Division by zero** โ€” free products (zero unit price) no longer cause a fatal error during invoice creation
Fakturownia Pro

v1.0.0

2026-03-30

Added โ€” Invoice Rules

  • โ€ข**"Also Mark as Paid" checkbox** on create-invoice rules โ€” create a VAT Invoice or Proforma and simultaneously mark it as paid in Fakturownia in a single rule, eliminating the need for a separate "Mark as Paid" step

Added โ€” Document Settings (9 new settings)

  • โ€ข**Sell Date Source** โ€” choose between order date and invoice creation date for the invoice sell date
  • โ€ข**Payment Terms** โ€” set payment deadlines: 5, 7, 10, 14, 21, 30, 60, or 90 days, end of month, or custom
  • โ€ข**Internal Note** โ€” pass Shopify order notes to Fakturownia's internal note field (panel-only, not printed on invoice)
  • โ€ข**Notes Before Positions** โ€” custom text printed above the invoice line-item table
  • โ€ข**Notes After Positions** โ€” custom text printed below the invoice line-item table
  • โ€ข**Seller Name Override** โ€” override the default seller name from your Fakturownia account per-store
  • โ€ข**Seller Contact Person** โ€” set a contact person name on invoices
  • โ€ข**Show Bank Account** โ€” toggle bank account visibility on invoices

Improved โ€” Compliance

  • โ€ข**OSS Validation** โ€” now verifies that the buyer's country differs from the shop country AND is an EU member state before applying the OSS flag; prevents incorrect flagging for non-EU destinations (UK, Norway, Switzerland, etc.)
  • โ€ข**Reverse Charge** โ€” when enabled, automatically sets tax to "exempt" (zw) on all positions, hides the tax column, and appends a reverse charge note to the invoice description

Security

  • โ€ขAPI tokens are sanitized from all log entries and error messages โ€” tokens are never written to disk or displayed in the admin
  • โ€ขWebhook HMAC-SHA256 verification now uses timing-safe comparison to prevent timing-based forgery attacks
  • โ€ขWebhook idempotency prevents duplicate processing when the same event is delivered more than once

Performance

  • โ€ข**PDF caching (24h)** โ€” invoice PDFs are cached locally; repeat requests are served from cache without an API call
  • โ€ข**PDF streaming** โ€” large PDFs are streamed to a temp file rather than loaded fully into memory
  • โ€ขDatabase indexes added on frequently queried columns
  • โ€ขBulk operations continue on individual failure instead of aborting the entire batch

New API Fields

  • โ€ข`sell_date`, `issue_date`, `paid_date` โ€” full date control
  • โ€ข`payment_to`, `payment_to_kind` โ€” payment term deadlines
  • โ€ข`internal_note` โ€” order notes passthrough
  • โ€ข`notes_before_positions`, `notes_after_positions`
  • โ€ข`seller_name`, `seller_person` โ€” seller overrides
  • โ€ข`show_bank_account` โ€” display toggle
  • โ€ข`quantity_unit` โ€” per-position unit (szt., kpl., godz.)
  • โ€ข`additional_info` โ€” PKWiU codes per position
  • โ€ข`exchange_currency`, `exchange_kind`, `exchange_currency_rate` โ€” multi-currency support
  • โ€ข`exempt_tax_kind`, `np_tax_kind` โ€” KSeF tax markers
  • โ€ข`cancel_reason` โ€” reason for invoice cancellation

Fixed

  • โ€ข**NIP normalization** โ€” Polish NIP numbers are now normalized before being sent to Fakturownia (strips PL prefix, dashes, and spaces). Resolves an issue where NIPs from some checkout flows were passed in a format Fakturownia rejected.
  • โ€ข**Partial refund corrections** โ€” credit notes now reflect the actual refunded amount instead of reversing the full invoice
  • โ€ข**Division by zero** โ€” free products (zero unit price) no longer cause a fatal error during invoice creation
  • โ€ข**Draft order guard** โ€” draft and incomplete Shopify orders are filtered out before invoice creation to prevent errors from orders with no payment
ReturnShield AI

v1.0.0

2026-03-24

Initial Release

  • โ€ขAI Return Reason Analyzer โ€” NLP classifies return notes with 80% accuracy
  • โ€ขAI Action Queue with word-level diffs, evidence, and impact predictions
  • โ€ขAction Prioritizer ranks fixes by (savings x confidence / effort)
  • โ€ขProduct Risk Scoring (0-100) based on 30+ signals per product
  • โ€ขCustomer Risk Segmentation โ€” 4 tiers from Low Risk to Serial Returner
  • โ€ขTrue Return Cost Calculator with all-in unit economics
  • โ€ขReal ROI tracking with before/after return rates and statistical significance
  • โ€ขReturn fraud detection with serial returner scoring
  • โ€ขBracketing pattern detection and automated fulfillment holds
  • โ€ขSizing Social Proof Widget via product metafields
  • โ€ขPost-purchase "How's it fit?" emails 7 days after delivery
  • โ€ขPost-return surveys with conditional logic
  • โ€ขShopify Flow integration โ€” 4 triggers, 2 actions
  • โ€ขAutomated alerts for return spikes, serial returners, and anomalies
  • โ€ขMonthly ROI email reports and AI-generated weekly digests
  • โ€ข6 languages: English, German, French, Spanish, Portuguese, Japanese
  • โ€ขShopify OAuth with full GDPR compliance
  • โ€ข5-tier pricing from Free to Scale
Fakturownia Pro

v0.9.0

beta โ€” 2026-03-24

Initial Release

  • โ€ขAutomatic invoice creation on order payment
  • โ€ขCredit notes automatically generated on refund
  • โ€ขPer-status invoice rules โ€” define actions per order status
  • โ€ขProforma invoice creation on order placement
  • โ€ขAuto-mark invoices as paid on fulfillment
  • โ€ขAuto-cancel invoices on order cancellation
  • โ€ขEU OSS (One-Stop Shop) compliance for cross-border B2C
  • โ€ขSplit Payment (MPP) for Polish B2B transactions
  • โ€ขGTU codes for JPK reporting
  • โ€ขReverse Charge support for intra-EU B2B
  • โ€ขNIP and EU VAT number validation
  • โ€ขCustomer invoice dashboard in account area
  • โ€ขPDF invoice download from order status page
  • โ€ขInvoice attached to order confirmation email
  • โ€ขMulti-currency support โ€” invoice in order currency
  • โ€ขCustomizable invoice templates
  • โ€ขBilingual invoices (language follows order)
  • โ€ขBulk invoice generation for multiple orders
  • โ€ขInvoice status column in admin orders
  • โ€ขDuplicate prevention for payment retries
  • โ€ขWorks with Fakturownia.pl and InvoiceOcean
  • โ€ข6 languages: English, German, French, Spanish, Portuguese, Polish
  • โ€ขShopify OAuth with GDPR compliance
FakturaPL

v0.9.2

beta โ€” 2026-03-22

Security

  • โ€ข**SSL verification always enforced** โ€” debug mode no longer disables SSL peer/host verification (prevents MITM exposure of API tokens)
  • โ€ข**Webhook endpoint implemented** โ€” new front controller with HMAC-SHA256 signature verification, payload size limits (64 KB), and proper HTTP status codes
  • โ€ข**External token sanitization** โ€” tokens stored in DB are validated (alphanumeric, max 64 chars)

Fixed

  • โ€ข**Invoice duplicate race condition** โ€” `id_order` column now UNIQUE with atomic `INSERT ... ON DUPLICATE KEY UPDATE`
  • โ€ข**API rate limit handling** โ€” 429 responses trigger exponential backoff (up to 3 retries)

Improved

  • โ€ขWebhook payload storage capped at 64 KB to prevent table bloat
  • โ€ขWebhook cleanup method for processed webhooks older than 90 days
  • โ€ขUser-Agent header reflects actual module version
FakturaPL

v0.9.1

beta โ€” 2026-03-20

Added

  • โ€ขInvoice column in admin orders list with status badges
  • โ€ขRich order detail panel with PDF download, resend email, convert Proforma to VAT
  • โ€ขCustomer dashboard integration ("My Invoices" page with PDF downloads)
  • โ€ขAuto-refund correction invoices when credit slips are created
  • โ€ขOID deduplication to prevent duplicate invoices from payment gateway retries
  • โ€ขOption to replace PrestaShop's built-in invoicing with Fakturownia invoices

Improved

  • โ€ขPayment method mapping now loads all active payment modules dynamically
  • โ€ขDepartment dropdown fetches directly from Fakturownia API
  • โ€ขBetter error messages when API connection fails

Fixed

  • โ€ขWebhook sync now correctly handles concurrent status updates
  • โ€ขPDF cache invalidation when invoice is modified in Fakturownia
HTMLBox Pro

v2.3.0

2026-03-15

Added

  • โ€ขA/B testing with automatic traffic splitting and conversion tracking
  • โ€ขStatistical significance calculator with confidence intervals
  • โ€ขWinner auto-selection when significance threshold is reached

Improved

  • โ€ขCode editor upgraded with better syntax highlighting and error detection
  • โ€ขBlock list now shows conversion metrics inline

Fixed

  • โ€ขCache invalidation now triggers correctly on block update in multistore mode
FakturaPL

v0.9.0

beta โ€” 2026-02-15

Initial Release

  • โ€ขPer-status invoice rules (create VAT, Proforma, mark paid, cancel, correct)
  • โ€ข6-tab admin configuration panel (Connection, Rules, Documents, Payments, Compliance, Advanced)
  • โ€ขEU compliance: OSS, Split Payment (MPP), GTU codes, Reverse Charge
  • โ€ขNIP and EU VAT number validation
  • โ€ขBilingual invoice support
  • โ€ข6 languages: Polish, English, German, French, Spanish, Italian
  • โ€ขPHP 8.1+ / PrestaShop 8.0+ compatible
  • โ€ขPSR-4 autoloading, no external dependencies
  • โ€ขWebhook signature verification and CSRF protection
HTMLBox Pro

v2.2.0

2026-02-01

Added

  • โ€ขConditional display rules by country and zone
  • โ€ขTwig template support for dynamic content (customer name, cart total, language)
  • โ€ขBlock duplication โ€” one-click copy of any block with all settings

Improved

  • โ€ขWYSIWYG editor performance on large HTML blocks
  • โ€ขHook selector now shows a visual wireframe of the storefront

Fixed

  • โ€ขBlocks with JavaScript no longer interfere with each other when on the same page
HTMLBox Pro

v2.1.0

2026-01-10

Added

  • โ€ขDate-based scheduling with start/end date and time
  • โ€ขImport/export blocks between multistore instances
  • โ€ขResponsive device visibility controls (desktop, tablet, mobile)
  • โ€ขVersion history with one-click rollback

Improved

  • โ€ขBlock list now supports bulk enable/disable
  • โ€ขAdmin UI redesigned with cleaner layout and better mobile support

Fixed

  • โ€ขMultistore compatibility issue where blocks appeared on wrong shop
  • โ€ขDrag-and-drop ordering now persists correctly after page reload
HTMLBox Pro

v2.0.0

2025-12-01

Major Release

  • โ€ขComplete rewrite for PrestaShop 8.x/9.x compatibility
  • โ€ขNew visual hook position selector with storefront wireframe
  • โ€ขNew split-view editor (WYSIWYG + code side by side)
  • โ€ขNew drag-and-drop block ordering within hooks
  • โ€ขNew template library โ€” save and reuse block designs
  • โ€ขNew bulk operations (enable, disable, delete, export)
  • โ€ข6 languages: Polish, English, German, French, Spanish, Italian
  • โ€ขPHP 8.1+ required, PSR-4 autoloading, no external dependencies