Skip to main content

Sync SAP Business One OData records with Google Sheets daily

Workflow preview

Workflow preview
100%
Sync SAP Business One OData records with Google Sheets daily preview
Open on n8n.io

1. Workflow Overview

Quick overview This workflow runs daily to sync SAP Business One Service Layer OData Business Partners to Google Sheets, handling SAP’s 20 record page limit, mapping fields into a sheet friendly fo...

Best for

  • Document Extraction automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.stickynote, n8n-nodes-base.scheduletrigger, n8n-nodes-base.httprequest, n8n-nodes-base.code, n8n-nodes-base.merge, n8n-nodes-base.set, n8n-nodes-base.if, n8n-nodes-base.googlesheets

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Taseeb Saeed.

Original n8n.io source

1.1 Workflow description

Title
Sync SAP Business One OData records with Google Sheets daily
Workflow name
Sync SAP Business One OData records with Google Sheets daily

Quick overview

This workflow runs daily to sync SAP Business One Service Layer OData Business Partners to Google Sheets, handling SAP’s 20-record page limit, mapping fields into a sheet-friendly format, filtering out records without email addresses, and upserting rows to avoid duplicates.

How it works

  1. Runs every 24 hours on a schedule.
  2. Logs in to the SAP Business One Service Layer and retrieves a session ID.
  3. Fetches two OData pages (20 records each) of BusinessPartners from SAP B1 using $top/$skip and a $select field list, then combines the results.
  4. Maps SAP fields into Google Sheets columns (including a human-readable partner type and a “Last Synced” timestamp).
  5. Filters out records with an empty Email field and prepares a simple “skipped” log payload for those entries.
  6. Upserts the valid records into a Google Sheets tab named SAP_BusinessPartners using “Customer Code” as the matching key, then logs out of SAP B1.

Setup

  1. Update the SAP B1 Service Layer base URL, CompanyDB, UserName, and Password in the login request, and ensure your n8n instance can validate the SAP SSL certificate (or adjust SSL verification settings).
  2. Update the SAP OData entity path and $select field list in the fetch requests if you want to sync a different entity or different fields.
  3. Connect your Google Sheets account, set the target spreadsheet ID, and ensure the SAP_BusinessPartners sheet exists with headers matching the mapped column names (including “Customer Code” for upserts).
  4. If you have more than 40 records, duplicate the fetch-and-extract branch with higher $skip values (e.g., 40, 60) and add them as additional inputs to the merge step.

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 2 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 3 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 4 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 5 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 6 - Run Daily SAP Sync

Type / Role
n8n-nodes-base.scheduleTrigger - scheduleTrigger
Config choices
Version 1.3

Block 7 - Post SAP Login

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 8 - Fetch SAP Page 1 Records

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 9 - Parse Page 1 Records

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 10 - Merge Records from Both Pages

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.2

Block 11 - Fetch SAP Page 2 Records

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 12 - Parse Page 2 Records

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 13 - Set Customer Data Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 14 - Check Valid Email

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 15 - Upsert Customer to Sheets

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.5

Block 16 - Post SAP Logout

Type / Role
n8n-nodes-base.httpRequest - httpRequest
Config choices
Version 4.3

Block 17 - Log Skips Without Email

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

3. Summary Table

Workflow Sync SAP Business One OData records with Google Sheets daily
Complexity advanced
Nodes 17
Categories Document Extraction
Author Taseeb Saeed
Published 17 Jun 2026

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/16468/16468.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Sync SAP Business One OData records with Google Sheets daily do?

Quick overview This workflow runs daily to sync SAP Business One Service Layer OData Business Partners to Google Sheets, handling SAP’s 20 record page limit, mapping fields into a sheet friendly fo...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Document Extraction use case.