> For the complete documentation index, see [llms.txt](https://docs.zwapgrid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.zwapgrid.com/client-portal/systems/setup-guides/bjorn-lunden.md).

# Bjorn Lunden

Configure and test a Bjorn Lunden connection with API.1.

Bjorn Lunden provides accounting, invoicing, payroll, and tax products for small and medium-sized businesses. Set up new Bjorn Lunden integrations with a System Setting in the Zwapgrid Client Portal.

| Item                        | Details                                                            |
| --------------------------- | ------------------------------------------------------------------ |
| Client Portal configuration | Available                                                          |
| Test option                 | Sandbox supplied with the vendor integration                       |
| Vendor documentation        | [Bjorn Lunden Developer Portal](https://developer.bjornlunden.se/) |

## Before you start

You need a Bjorn Lunden integration with an App Client ID, App Client Secret, and access to a sandbox company. Request access through the [developer onboarding page](https://developer.bjornlunden.se/get-started/).

List every API.1 and Proxy.1 operation your product will use before requesting permissions.

## Confirm vendor permissions

Bjorn Lunden manages permissions for your application. They are not selected in the Zwapgrid System Setting.

Contact [Bjorn Lunden API support](mailto:api.se@bjornlunden.com) with your application name, client ID, and the complete list of methods and endpoints you require. Include Proxy.1 calls in that list. Never include the client secret.

Changing application credentials does not copy permissions from the previous application. Ask Bjorn Lunden whether already connected companies must reactivate the integration after a change.

## Configure Zwapgrid

1. In the Client Portal, open **Systems → Bjorn Lunden → Configure**.
2. Create a clearly named System Setting.
3. Enter the App Client ID and App Client Secret supplied for your integration.
4. Save and review the Draft.
5. Publish the setting when vendor permissions have been confirmed.

See [System Settings](/client-portal/systems/system-settings.md) for lifecycle and Consent-selection rules.

## Test the connection

1. Add representative data to the sandbox company.
2. Create a Development Consent using the published setting.
3. Complete the [Onboarding Flow](/onboarding-flow/onboarding-flow.md).
4. Test every required read and write operation.
5. For a credential migration, validate one production company before moving the remaining connections.

## Troubleshooting

* **Out of allowed scope:** Ask Bjorn Lunden to review the application and the full endpoint list together.
* **`403 Operation is forbidden` without details:** Contact [Zwapgrid support](mailto:support@zwapgrid.com) with the Consent ID, UTC timestamp, and correlation or request ID.

Never send client secrets, API keys, or access tokens in a support message.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.zwapgrid.com/client-portal/systems/setup-guides/bjorn-lunden.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
