📒 Connect Shine (formerly Billy) bookkeeping

Push invoice drafts from PennaPay straight into Shine — no re-keying, no double entry.

Drafts only — you stay in control. PennaPay sends invoices to Shine as drafts. Nothing is booked automatically. Your accountant (revisor) reviews, corrects if needed and books the entries. This is intentional: automatic booking without human review is a compliance risk.
⚙️ Before you start
What is Shine (formerly Billy)?›

Shine (formerly Billy) is a Danish cloud bookkeeping system (part of the Ageras group). It is popular among Danish freelancers and small businesses. The integration is one-way: PennaPay pushes invoice drafts to Shine. Shine is not required to use PennaPay — it is an optional add-on for users who already have a Shine account.

What do I need before connecting?›

You need:

  1. An active Shine account (any paid Shine plan).
  2. A personal access token from Shine — you generate this yourself in Shine's own settings. No approval from PennaPay or Shine is required. There is no OAuth flow.
  3. A PennaPay Pro account (the bookkeeping integration is a Pro feature).
How do I get a Shine access token?›

In Shine, go to Settings → Access tokens → Create token. Give it a descriptive name (e.g. "PennaPay") and copy the token immediately — Shine only shows it once. Keep it somewhere safe; you will paste it into PennaPay shortly.

🔗 Connecting PennaPay to Shine
Step-by-step: how do I connect?›
  1. Log in to PennaPay and go to Settings (top-right menu).
  2. Scroll to the Bookkeeping integration section.
  3. Click Connect Billy (now Shine). A token field appears.
  4. Paste your Shine access token and click Connect.
  5. PennaPay verifies the token and shows your Shine organisation name. The status changes to Connected.

That's it — no OAuth, no redirects, no approval step. The token is stored encrypted on our server.

What are the optional settings after connecting?›

Once connected you can configure two optional settings:

  1. Automatically push sent invoices — when enabled, every invoice you mark as Sent in PennaPay is automatically pushed to Shine as a draft. When disabled, you push manually (see below).
  2. Default sales account — the Shine account code to use for the income line (e.g. 1000). Optional; leave blank to use Shine's default.

Click Save after changing these settings.

How do I test the connection?›

In the Bookkeeping integration section of Settings, click Test connection. PennaPay makes a live call to Shine and confirms the token is valid and the organisation is reachable. The Last verified timestamp updates on success.

📤 What gets pushed to Shine
What data does PennaPay send to Shine?›

Each push sends:

  1. Contact — the client on the invoice is looked up or created as a contact in Shine (matched by name). No duplicate contacts are created if the same client already exists.
  2. Invoice draft — line items, amounts, tax, due date and invoice number are pushed as a Shine invoice draft.

Payments are not pushed. PennaPay does not mark invoices as paid in Shine — that step belongs to your bookkeeper after reviewing the draft.

How do I push an invoice manually?›

Open the invoice in the invoice editor. At the bottom of the page you will see a Billy (now Shine) button. Click it to push the invoice as a draft to Shine. A confirmation toast appears when it succeeds.

If you have Automatically push sent invoices enabled, this button is still available if you want to re-push (for example after editing an invoice).

Why drafts only — why doesn't PennaPay book automatically?›

Automatic booking without human review is a compliance risk under Danish bookkeeping law (Bogføringsloven). Drafts give your accountant (revisor) the chance to review amounts, account codes and tax treatment before an entry is final. This is intentional and will not change.

🛠 Troubleshooting
"Invalid Billy (now Shine) token" error›

The token was rejected by Shine. Common causes:

  1. The token was copied with an extra space — paste it into a plain text editor first to check.
  2. The token was deleted or expired in Shine's own token list.
  3. The token belongs to a different Shine account (e.g. a test org).

Go to Shine → Settings → Access tokens, generate a new token and reconnect in PennaPay Settings.

"Billy not connected" when clicking the Billy (now Shine) button›

You have not yet connected Shine in Settings, or the connection was disconnected. Go to Settings → Bookkeeping integration and connect.

"Bookkeeping integration requires server configuration" (503 error)›

This error means the encryption key used to store your Shine token has not been configured on the server. This is a server-side setup step, not something you can fix from your account. Please contact support and mention error code 503.

The invoice draft doesn't appear in Shine›

Check the following:

  1. In Shine, look under Sales → Invoices → Drafts (not the approved invoices list).
  2. The push toast in PennaPay showed success — if it showed an error, that's the root cause.
  3. Test the connection from Settings to confirm the token is still valid.

If the push reported success but the draft is missing, contact support with the invoice number and push timestamp.

"Rate limit — try again shortly"›

Shine's API has a rate limit. This is uncommon for normal use but can happen if you push many invoices in quick succession. Wait 60 seconds and try again.

Still stuck?

Reach us at pennasystems.com/contact — we aim to reply within one business day.