Wijzigingslogboek
Volg elke update in al onze producten.
FakturaPL
v1.0.2
2026-05-09Fixed โ 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-09Fixed โ 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-09Fixed โ 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-30Added โ 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-30Added โ 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-24Initial 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-24Initial 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-22Security
- โข**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-20Added
- โข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-15Added
- โข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-15Initial 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-01Added
- โข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-10Added
- โข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-01Major 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