Bokføringsloven
Norwegian Bookkeeping Act compliance — how we keep your receipt for as long as the law requires, and how you can get a copy any time.
Table of contents
Norwegian sole-proprietorship and limited-company businesses are regulated by the Bookkeeping Act (Bokføringsloven, LOV-2004-11-19-73) and its accompanying regulation (Bokføringsforskriften). PagePrinted is operated by Klokk Nettablering (org-nr 821 466 962), a Norwegian sole proprietorship, so the law applies to every order we take regardless of where the buyer lives. This page explains what we capture on each receipt, how long we keep it, and how you can pull your own copy on demand.
· I ·Overview
Every paid order generates a numbered receipt the moment Stripe confirms the charge. The receipt is stored as immutable JSON in our orders table plus a signed PDF render in MinIO. The signed PDF is what we present to a tax-office auditor; the JSON is what powers self-service download from your account. Both are kept for the full statutory period.
· II ·The bookkeeping-obligated entity
The bookkeeping obligation sits with Klokk Nettablering, org-nr 821 466 962, registered in the Brønnøysund Register. Mailing address is on the contact page. The accounting year runs 1 January to 31 December. We are below the VAT-registration threshold; the line on every receipt that would otherwise say MVA 25 % instead says Ikke MVA-pliktig in accordance with Bokføringsforskriften §5-1-1.
· III ·§10 — content of the receipt
Bokføringsloven §10 plus Bokføringsforskriften §5-1 lists the minimum fields a receipt must carry. We emit every one:
- Sequential receipt number (per the §3-1-2 unbroken-series rule).
- Receipt date (charge confirmation timestamp, ISO-8601, UTC).
- Seller: Klokk Nettablering, org-nr 821 466 962, postal address, plus the literal text "Foretaksregisteret" where registration applies.
- Buyer: name + email (and shipping address when a physical book is on the order line).
- Description of every line item — title of the book, theme slug, binding option, page count.
- Quantity and unit price in NOK (with the captured FX-rate row if the underlying Stripe charge was in EUR/USD/GBP — see §VI).
- Subtotal, MVA-row (zero with the §5-1-1 note), total, currency.
- Payment method (last-four of card / wallet brand) and the Stripe payment intent id, which doubles as our internal reference.
· IV ·§13 — retention period
Bokføringsloven §13 sets the retention period at five years after the end of the accounting year for primary documentation (which receipts are). We keep the signed PDF and the JSON twin for the full five years, then automatically rotate them to a cold archive for an additional two years before destruction. A 2024 amendment extended certain VAT-relevant documents to ten years; because we are not VAT-registered, the five-year baseline applies — but we have set the retention floor to seven to absorb future amendments without a migration.
· V ·Electronic storage
Per §13b and Bokføringsforskriften §7-2, electronic storage is permitted provided the documents remain legible, machine-readable, and protected against alteration for the full retention period. Our storage stack meets each requirement:
- Format: PDF/A-2u for the signed receipt (long-term, embedded fonts, Unicode mapped). The JSON twin is UTF-8 with a schema reference frozen at write-time.
- Integrity: the receipt PDF is signed with a per-environment private key; the public key is published at
/.well-known/pageprinted-receipt-pubkey.pemso any recipient can verify the signature independently. - Backup: nightly snapshots to encrypted offsite storage; recovery has been drilled (see the DR runbook referenced on the contact page).
- Geography: primary storage is in the EEA (Germany), so no Bokføringsforskriften §7-3 extraterritorial-storage consent is required.
· VI ·NOK conversion & VAT
Stripe lets the buyer pay in their local currency. Norwegian bookkeeping requires every entry to land in NOK. We capture the Stripe-published FX rate at the moment of capture, store both the original-currency amount and the NOK conversion on the same receipt, and book the NOK figure into the general ledger. When the Stripe balance is paid out, any FX gain/loss between capture and payout is booked to a separate FX-difference account so the audit trail stays clean.
· VII ·Audit access
Skatteetaten or its appointed auditor may request the books at any time. We can produce, within the same business day, a signed ZIP export of: every receipt PDF, the JSON twin, the general-ledger entry per receipt, the Stripe balance-transactions report, the FX-rate snapshot, and the audit-log row that recorded the capture event. The export carries the same per-environment signature as the receipts so the auditor can verify the chain end-to-end without trusting our infrastructure.
· VIII ·Your copy of the receipt
You can pull your own receipts at any time from /account/export; the export contains the same signed PDF the tax office would see, plus the JSON twin if you need to ingest into your own accounting software. If you bought as a guest (no account), email [email protected] with the Stripe payment-intent id from your card statement and we will resend within one business day.