> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maesn.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create bookings

> Step-by-step technical guide to create accounting bookings via the Unified API.

## Create journal entries in 5 steps

<Steps>
  <Step title="Authorize access" titleSize="h3">
    Your user must first authorize your application to access their accounting platform (e.g., Exact Online, Xero, QuickBooks) via an authorization flow (e.g., OAuth, API key) through [maesn Connect](/guides/maesn-connect).
  </Step>

  <Step title="Retrieve chart of accounts" titleSize="h3">
    You will usually need to specify a an account and a contra account for each journal entry. These could be stored in your database or be based on user input, but most likely it will be sensible to fetch it from the user's accounting platform by calling the GET [/accounts](/api-reference/accounting-endpoints/accounts/get-accounts) endpoint.
  </Step>

  <Step title="Retrieve tax rates" titleSize="h3">
    Call the GET [/taxRates](/api-reference/accounting-endpoints/taxrates/get-tax-rates) endpoint to fetch the tax rates or tax codes available in in the accounting platform.
  </Step>

  <Step title="Retrieve dimensions" titleSize="h3">
    If your users use classes, locations, departments or other dimensions configured, you can retrieve them from the accounting platform with GET [/dimensions](/api-reference/accounting-endpoints/dimensions/get-dimensions).
  </Step>

  <Step title="Retrieve journals" titleSize="h3">
    For systems that support multiple journals, the journals can be retrieved with GET [/journals](/api-reference/accounting-endpoints/journals/get-journals).
  </Step>

  <Step title="Implement a trigger to create bookings" titleSize="h3">
    Decide when to transfer invoices to your user’s accounting platform. It could be a button within your application's frontend, listening for a specific event or according to a schedule (e.g. nightly).
  </Step>

  <Step title="Create the booking" titleSize="h3">
    Create the booked transaction in your user's accounting platform by calling POST [/journalEntries](/api-reference/accounting-endpoints/journalentries/create-journal-entry).
    Note that it is possible to upload attachments, such as receipts, statements and vouchers, by using the `files` and `filesPos` fields in the multipart form.
  </Step>
</Steps>

<Tip>Some systems, like DATEV Rechnungswesen, supports the creation of bookings in [bulk](/api-reference/accounting-endpoints/journalentries/create-journal-entries-bulk)</Tip>
