Changelog
All notable changes to Fakturownia Pro for Shopify are documented here. The format follows Keep a Changelog.
v1.1.0 — May 2026
Features
Seller override per order
Invoice rules can now override the seller name, NIP, address, and bank account on a per-rule basis. Previously the seller block was a single global setting shared across all invoice rules. This is particularly useful for stores using Shopify Markets with different trading names per region — a store trading as "Acme GmbH" for German orders and "Acme Sp. z o.o." for Polish orders can now configure separate rules for each market with distinct seller blocks.
To configure: open any invoice rule, enable "Override seller data", and fill in the seller fields you want to override. Blank fields inherit the global setting from Settings → Document Settings → Seller.
VAT number display on portal
The customer portal invoice list now shows the buyer's VAT number (NIP or EU VAT ID) on each invoice row. This is only visible to the logged-in customer whose account it belongs to — never to other customers. It is particularly useful for B2B buyers managing multiple companies who need to confirm which VAT number was recorded on an invoice at a glance, without opening each PDF.
Rule dry-run mode
Test a rule configuration against existing orders without creating real invoices. Accessible from Invoice Rules → [rule name] → Test Mode. Enter an order ID or leave blank to test against the last 20 orders, then click "Run dry-run". The output shows which orders would trigger the rule, what document type would be created, what buyer data would be sent to Fakturownia, and whether any conditions would block creation.
Use this before activating a new rule on a production store. It is the safest way to verify logic without generating test invoices that require cancellation.
Webhook delivery log
Fakturownia Pro now exposes a per-store webhook delivery log showing all received Shopify webhook events and their processing outcome: invoice created, skipped (duplicate), skipped (rule condition not met), or failed with error detail. Accessible from Fakturownia Pro → Activity Log → Webhooks.
Previously you needed to use Shopify's global webhooks panel, which shows events for all installed apps and requires Shopify admin access. The new log is scoped to Fakturownia Pro events only and includes human-readable outcome descriptions.
Improvements
- OSS destination country detection now checks the shipping address as a fallback when the billing address country is blank. Previously, orders with blank billing country were silently skipped for OSS annotation. This most commonly affected stores where customers enter shipping-only addresses at checkout.
- Duplicate prevention check timeout increased from 5 to 10 seconds. On slow Fakturownia API connections (common during peak hours), the previous 5-second timeout caused false positives — the check gave up and refused to create the invoice rather than risk a duplicate. Doubling the timeout significantly reduces these false positives.
- Customer portal now shows invoices created within the last 10 seconds (previously 60 seconds). A customer checking their account immediately after checkout now sees their new invoice without waiting up to a minute.
- Error messages in the activity log are now translated from raw Fakturownia API error codes into human-readable descriptions. For example,
ERR_BUYER_NIP_INVALIDnow reads "Invalid NIP — the buyer's VAT number failed the checksum validation", with a link to the relevant troubleshooting section.
Fixed
- Partial refund credit notes were including the full shipping cost instead of only the refunded portion of shipping. When a Shopify partial refund excluded shipping from the refund object, the credit note still included the original full shipping amount. Now the credit note exactly mirrors what Shopify's refund object specifies.
- NIP extraction from order notes failed when the NIP was surrounded by parentheses (e.g.,
NIP: (1234567890)). The extraction regex now handles parentheses, brackets, and common delimiters around the NIP value. - Invoice portal "Download" button was not visible on mobile screens narrower than 375px. A CSS overflow rule on the table row was clipping the button. Fixed with responsive table handling that collapses columns on small screens.
After Upgrading to v1.1.0
No migration steps are required. Seller override is opt-in per rule — existing rules continue using the global seller settings until you explicitly enable the override on individual rules. The webhook delivery log starts recording from the upgrade date; historical events before the upgrade are not backfilled.
v1.0.0 — March 2026
Initial release of Fakturownia Pro for Shopify.
Invoice Automation
Per-status invoice rules with support for all Shopify webhook topics (orders/created, orders/paid, orders/fulfilled, orders/partially_fulfilled, orders/cancelled, refunds/create). Rule actions: Create VAT Invoice, Create Proforma, Mark as Paid, Create Credit Note, Cancel Invoice, Send Email. "Also Mark as Paid" option on create actions for single-step creation and payment marking. Duplicate prevention checks invoice existence before every create action. Partial refund support: credit notes mirror exact refunded line items and amounts from Shopify.
EU and Polish Tax Compliance
EU OSS automatic destination country VAT rate lookup for cross-border B2C sales. Split Payment (MPP) automatic annotation for Polish B2B invoices over 15,000 PLN with NBP rate conversion for foreign currencies. GTU codes: per-product-type mapping (GTU_01 through GTU_13) applied per invoice line. Reverse Charge: zero-rate invoicing for intra-EU B2B with VIES-validated VAT numbers. VAT-exempt sales: configurable Art. 43 basis printed on invoice. NIP collection via order note extraction (non-Plus stores) and checkout extensibility field (Plus stores).
Customer Portal
Invoices section in Shopify new customer accounts (all paid plans from Starter). Invoice and credit note list with download links. On-demand PDF download from Fakturownia API. Invoice link on order status page (post-checkout confirmation). PDF attachment to Shopify order emails. Multi-language portal labels (en, pl, de, fr, es, pt).
Shopify Flow
Triggers: Invoice Created, Invoice Sent, Credit Note Created, Invoice Error. Actions: Create Invoice, Send Invoice.
Document Settings
Invoice templates: Standard, Compact, Bilingual PL/EN, Custom. Buyer name format: company name, full name, or combined. Sell date source: order date or invoice creation date. Payment terms: 7, 14, 30 days, end of month, or custom. Notes before and after line items. Internal note field (not printed on PDF). Seller overrides: name, NIP, address, bank account, contact person. Shipping line: include, exclude when free, always exclude. Multi-currency: invoices in order currency with automatic NBP rate lookup.
Plans
| Plan | Price | Orders/month | |---|---|---| | Free | $0 | 20 | | Starter | $9/mo | 100 | | Growth | $19/mo | 500 | | Professional | $29/mo | 2,000 | | Enterprise | $39/mo | Unlimited |
All paid plans include per-status invoice rules, customer portal, multi-currency support, and credit notes on refund. The Free plan includes email PDF attachment (it is sent via Fakturownia's email system and does not require the customer portal feature).
Next Steps
Compatibility
| Component | Supported | |---|---| | Shopify plan | Basic, Shopify, Advanced, Plus | | Shopify customer accounts | New customer accounts required for portal | | Shopify Flow | Shopify plan or higher | | Fakturownia.pl account | Any plan (API access required) | | Storefront locales | en, pl, de, fr, es, pt |
The app uses Shopify's Customer Account Extension API for the invoice portal. This API is not available on legacy (Classic) customer accounts. If your store is still on Classic accounts, the portal will not display until you migrate to New customer accounts in Settings → Customer accounts.
Upgrade Guide: v1.0.0 → v1.1.0
No database migrations or configuration changes are needed when upgrading from v1.0.0 to v1.1.0. Shopify handles app version updates automatically — you will be prompted to accept any new permissions if additional scopes were added (v1.1.0 does not require new scopes).
After updating, verify the following:
- Activity Log → Webhooks is visible and showing recent events
- Open any invoice rule and confirm the "Override seller data" section is present (collapsed by default)
- If you use dry-run testing, open a rule and confirm the "Test Mode" tab is available
If your Shopify store is in a high-volume period, updates apply with zero downtime — the app processes webhook events continuously through the update.