> ## 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.

# Synchronize items

> Step-by-step guide to synchronize items and products across accounting systems.

## 5 steps to implement item/article/product syncronization

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

  <Step title="Retrieve items" titleSize="h3">
    Fetch the relevant items from your user's ERP system using the GET [/items](/api-reference/accounting-endpoints/items/get-items) endpoint.
  </Step>

  <Step title="Reconcile items" titleSize="h3">
    Match the items imported from your user's ERP platform with any existing items in your application, using relevant fields like `itemId`, `itemNumber` and `gtin`. Update items with newer information from the ERP system if available and resolve conflicting information.
  </Step>

  <Step title="Export items" titleSize="h3">
    Use the POST [/items](/api-reference/accounting-endpoints/items/create-item) endpoint to create items that exist in your application, but not in your customer's ERP platform. Use PUT /items or PATCH [/items](/api-reference/accounting-endpoints/items/patch-item) to update items in your customer's ERP system if your application has more recent information on an item.
  </Step>

  <Step title="Keep your data fresh" titleSize="h3">
    After fetching item data initially, you should make sure to keep your customer's product data up to date by regularly retrieving data through the GET [/items](/api-reference/accounting-endpoints/items/get-items) endpoint. The `lastModified` query parameter can be utilized on all our GET endpoints to save you the hassle of creating deltas to detect change. See our [guide to keeping data fresh](/guides/keep-data-fresh) for more information!
  </Step>
</Steps>

<Tip>You can utilize Webhooks to make this process more efficient.</Tip>
