Fix: Some update packages accidentally included an empty stray folder with a typo in its name, which caused “Could not create folder” errors during one-click updates on Windows/IIS. The release zip now contains only the correct plugin tree.
1.0.24
Fix: Order export now preserves exact net line amounts instead of converting discounts to rounded percentages. This fixes 1-ore bookkeeping differences such as 199 -> 100 being exported as 99.50 discount/payment in Fiken.
Fix: Credit note export now uses the same exact net-line logic, keeping refunds aligned with the original export amounts.
Improvement: Added bulk action “Export to Fiken” in the WooCommerce order list, so merchants can select multiple orders and export them in one action.
Improvement: Bulk export only processes orders that have not already been exported to Fiken. Already exported or currently locked orders are skipped and summarized in an admin notice.
1.0.23
Fix: Orders being exported multiple times to Fiken (duplicate invoices). The auto-export duplicate guard now uses WooCommerce CRUD (HPOS-safe) to read order meta, with fallback to post_meta. Previously, the guard relied solely on get_post_meta() which returns empty on sites with HPOS enabled and sync disabled – causing every status-change trigger to re-export the order.
Fix: Added a process lock (WordPress transient) to prevent parallel exports of the same order, e.g. from near-simultaneous payment gateway webhooks.
Fix: Orders not marked as transferred in the WooCommerce order list after successful export. The Fiken column in the HPOS order list now checks both WooCommerce CRUD meta and post_meta, so orders exported before or after an HPOS migration are always shown correctly.
Fix: store_invoice_meta() now reloads the order object fresh from the database before saving invoice meta, avoiding a stale object potentially overwriting concurrent changes.
1.0.22
Fix: VAT mapping for Stripe Tax and other third-party tax providers now correctly detects 25% Norwegian VAT. Previously, orders with correct VAT calculated by Stripe Tax were incorrectly exported to Fiken as “Sale without VAT” (VAT code 52). The plugin now calculates the effective VAT rate from actual amounts when tax rate IDs are not available, ensuring correct mapping to Fiken’s HIGH VAT type (25%) for Norwegian domestic sales.
1.0.21
Fix: Increase export service connect timeout to reduce cURL error 28 failures on slow networks.
1.0.20
Logging: Export errors now automatically add an order note so merchants see failures without opening logs.
UI: Added a Logs tab under WooCommerce → Fiken that shows the latest error entries from the WooCommerce logger (peki-fiken log).
Compatibility: Confirmed with WordPress 6.9.
1.0.19
Maintenance: Version bump and documentation sync.
1.0.18
Maintenance: Version bump and documentation sync.
1.0.17
UI: Advanced page grouped into “Export rules” and “Growth features”, with larger, easier-to-click checkboxes and clear descriptions.
UI: GROWTH badge with hover tooltip on gated settings; portal link shown when not eligible.
Enforcement: Per-payment document type overrides are Growth-gated in both UI and saving logic (server continues to enforce PDF feature).
Multi-site: Added company_slug to portal/checkout links so upgrades apply across all sites tied to the same Fiken company.
Upgrade flow: If a subscription exists, “Choose plan” routes to the portal to upgrade instead of creating a second subscription.
CSS: Added styles for growth badge and larger checkboxes.
Change: All plugin endpoints now use Fiken-specific paths (/stripe-connect/fiken/…) for status and portal.
Added: New Fiken status endpoint (/stripe-connect/fiken/status.php) mirroring root behavior.
Fix: Fiken customer portal include path corrected to load local env.php.
Fix: Growth gating now reads plan via the Fiken GET status endpoint using the current shop URL (immediate unlock after upgrade).
UI/Docs: Plan Benefits section and plan card bullets added; removed “Priority support” mention from Pro.
1.0.16
Enforcement: Automatic invoice PDF saving is Growth-only and gated server-side; local code edits cannot bypass the gate.
UI: Advanced toggle for “Automatically save invoice PDFs to Media Library” is disabled unless current plan is Growth (based on cached server status).
UI: Order notes now show a “Download PDF” button for saved attachments.
Dev: Added binary download helpers and 401 refresh to legacy client; PDF endpoint added with plan check.
Fix: Partial credit notes refunded amounts match requested gross by scaling line quantities; fallback derives net from gross using VAT type.
1.0.15
Fix: Prevent duplicate customers in Fiken by reusing existing contact by email when available (server-side).
Fix: Amount scaling guard — clamp minor unit factor to 100 (NOK) to avoid 1/100 totals if decimals are misreported.
Fix: Advanced “Document Type per Payment Method” no longer resets when saving Bank Account Mapping; bacs override persists.
Change: Default bank account fallback aligned with UI to 1920:10001 (Driftskonto). Previously defaulted to 1960.
Dev/Compat: Advanced saves keep existing per-gateway overrides when the cash map isn’t posted.
Added: Optional automatic invoice PDF download to Media Library with order attachment and “Download PDF” button in order notes. Requires Growth subscription; enforced server-side.
Added: Advanced setting toggle for invoice PDF saving (disabled unless on Growth based on server status cache).
Fix: Customer portal button reliability — includes shop, shop_url, v=3 and connection_id to ensure correct account routing.
Fix: Partial credit notes now match requested refund gross by proportionally scaling line quantity; fallback derives net from gross by VAT type (prevents over-crediting full line).
Dev: Backend endpoint to fetch invoice PDF and binary client helpers; token refresh on 401 for binary requests too.
1.0.14
Fix: Per-payment “Document Type” override is now always honored (bypasses master toggle). bacs set to Invoice now forces cash=false.
Dev: Added filter pekifiken_cash_flag to allow programmatic override of the cash flag.
UI: Support tab simplified to direct email link (petter@peki.no), web form removed.
Docs: Added Screenshots section; updated links to peki.no/fiken.
Compliance: Additional translators comments/escaping for PHPCS.
1.0.13
Added: Per-payment “Document Type” control (Invoice vs CashSale) with Advanced-tab master toggle.
Added: Live enable/disable of per-gateway dropdowns when master toggle changes.
Added: Orders list column shows Fiken export status with Woo dashicons (HPOS + legacy).
Added: Admin “Order actions” entry to force export to Fiken (overrides duplicate guard).
Improved: Prevent auto-export on status change if already exported (idempotency).
Improved: Amount scaling respects WooCommerce price decimals; server normalizes to øre.
Fix: Server accepts bankAccountCode also for non-cash invoices to satisfy Fiken API.
Added: Order notes now show export status (success/error) with invoice IDs
Added: Norwegian (Bokmål) translation
Improved: Notifications now fetch quota from Peki server automatically
Improved: Dismiss notifications reset when usage values change
Fix: Removed unsupported API parameters causing 400 errors
1.0.11
Fix: Bank account mapping functionality improved
Fix: Admin notifications dismiss handling
1.0.10
Fix: Free-plan “limit reached (15)” notice now triggers only when remaining == 0 (or used >= limit if remaining is unknown). Prevents premature hard-stop banners.
Tweak: Soft warning shows at ~10/15 only when usage can be derived (used or remaining known).
Hardening: Safer parsing of quota options (treat empty/false as unset) to avoid misreads.
UX: Dismiss keys are period-scoped; notices respect monthly reset.
Internals: Prefer fresh server quota; fall back to cached status only when necessary.
1.0.9
Added: Support for VAT code 52.
Improved: Stability of admin notices (dismiss handling and consistent display).
1.0.9
Added: Support for VAT code 52.
Improved: Stability of admin notices (dismiss handling and consistent display).
1.0.8
Fix: Fixing Refund bugs.
Fix: Account mapping.
1.0.7
Improvement: Refund handling refined for better accuracy and compatibility.
Feature: Added setting to disable VAT (MVA) when needed.
1.0.6
Fix: PHPCS warnings resolved for OAuth callback handling and webhook signature validation.
Improvement: Enhanced installation instructions with mandatory Fiken API activation and first invoice creation.
Docs: Clarified that Fiken invoice counter and customer counter must be initialized before API integration works.
Security: Proper sanitization and unslashing of server variables in webhook endpoint.
1.0.5
Fix: Duplicate “Connect to Fiken” notice; render guarded to run once per request.
Improvement: Quota notices now read from cached server status (shared per company_slug), with webhook/cron refresh.
Docs: Added Fiken API add-on requirement and first-invoice note; clarified multi-site behavior and pricing plans.
Meta: Bumped “Tested up to” to 6.8; updated Stable tag.
1.0.4
Docs: English-only readme per WordPress.org requirements; improved SEO wording for WooCommerce/Fiken integration in Norway.
Product: Clarified free tier (15 transfers/month) and option to upgrade to unlimited.
Docs: Removed references to manual “Send to Fiken” actions and subscription support (not available).
Link: Updated to https://peki.no/fiken in the description.
1.0.3
Compliance: Neutralized upgrade/plan wording; “Manage Subscription” link only.
Security: Reviewed nonce and capability checks in connect/disconnect flows.
Prefix: Migrated internal keys to pekifiken_ with legacy fallbacks.
API: Plan/limits decided by remote service; plugin surfaces neutral errors.
Docs: Expanded “External services.”
1.0.2
Documentation updates and refund handling improvements.