
Get OVH Invoices to Google Sheets
Description
Categories
💰 Finance
Nodes Used
n8n-nodes-base.ifn8n-nodes-base.coden8n-nodes-base.splitOutn8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.stickyNoten8n-nodes-base.googleDriven8n-nodes-base.googleDriven8n-nodes-base.googleDrive
PriceGratis
Views0
Last Updated11/28/2025
workflow.json
{
"id": "T1fYjI4iHqkXtK9V",
"meta": {
"instanceId": "1b8973b2efd33d1f4846c78d9a96edc53bb3f418b15d9edc37d479310f9c7c8d"
},
"name": "Get OVH Invoices to Google Sheets",
"tags": [],
"nodes": [
{
"id": "ed55d7b6-cb40-4323-9709-cc0468022a8f",
"name": "When clicking ‘Test workflow’",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-2660,
-220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "3eb0433d-e5ca-4d17-aaa5-1cec76705293",
"name": "Loop Over Items",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-1780,
-220
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "0a298df5-083f-4610-b8d8-3f70e28cf04a",
"name": "Split Out",
"type": "n8n-nodes-base.splitOut",
"position": [
-2000,
-220
],
"parameters": {
"options": {},
"fieldToSplitOut": "invoices"
},
"typeVersion": 1
},
{
"id": "6e05dc9a-f47b-4847-84ab-c9acc990d05d",
"name": "Get Invoice Data",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1540,
-200
],
"parameters": {
"url": "=https://eu.api.ovh.com/v1/me/bill/{{ $json.invoices }}",
"options": {},
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "1bxcEJTtubhOMAbH",
"name": "Header Auth OVH"
}
},
"executeOnce": true,
"typeVersion": 4.2
},
{
"id": "48e324e4-72d9-4b24-a739-f1561edd3498",
"name": "Safe File",
"type": "n8n-nodes-base.googleDrive",
"position": [
-1580,
280
],
"parameters": {
"name": "={{ $('Download PDF').item.binary.data.fileName }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {},
"folderId": {
"__rl": true,
"mode": "id",
"value": "={{ $json.id }}"
}
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "ed9xmblpdCj6Gp9X",
"name": "Google Drive account"
}
},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "90903b2f-d8e9-49b4-bc26-48807bd5d41e",
"name": "Create Folder",
"type": "n8n-nodes-base.googleDrive",
"position": [
-2020,
180
],
"parameters": {
"name": "={{ $('Record in OVH Sheet').item.json.FY }}",
"driveId": {
"__rl": true,
"mode": "list",
"value": "My Drive"
},
"options": {
"folderColorRgb": "#0B54E4",
"simplifyOutput": true
},
"folderId": {
"__rl": true,
"mode": "id",
"value": "[Put here Your main Invoice Folder]"
},
"resource": "folder"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "ed9xmblpdCj6Gp9X",
"name": "Google Drive account"
}
},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "1a155b9f-bdbb-4001-b07d-61ee2d2ce74c",
"name": "Download PDF",
"type": "n8n-nodes-base.httpRequest",
"position": [
-1800,
280
],
"parameters": {
"url": "={{ $('Get Invoice Data').item.json.pdfUrl }}",
"options": {}
},
"typeVersion": 4.2
},
{
"id": "c10b006a-ebd7-444b-a90a-d53f5efaf14e",
"name": "Record in OVH Sheet",
"type": "n8n-nodes-base.googleSheets",
"notes": "Amend the expression for 'date' to reflect Your locale\n{{DateTime.fromISO($json.date, { locale: 'de' }).toFormat('dd.MM.yyyy')}}",
"position": [
-1320,
-200
],
"parameters": {
"columns": {
"value": {
"FY": "={{ $json.date.toDateTime().format('y') }}",
"tax": "={{ $json.tax.text }}",
"url": "={{ $json.url }}",
"date": "={{DateTime.fromISO($json.date, { locale: 'de' }).toFormat('dd.MM.yyyy')}}",
"billId": "={{ $json.billId }}",
"pdfUrl": "={{ $json.pdfUrl }}",
"Invoice": "={{ $('Loop Over Items').item.json.invoices }}",
"orderId": "={{ $json.orderId }}",
"category": "={{ $json.category }}",
"password": "={{ $json.password }}",
"tax_value": "={{ $json.tax.value }}",
"priceWithTax": "={{ $json.priceWithTax.text }}",
"priceWithoutTax": "={{ $json.priceWithoutTax.text }}",
"tax_currencyCode": "={{ $json.tax.currencyCode }}",
"priceWithTax_value": "={{ $json.priceWithTax.value }}",
"priceWithoutTax_value": "={{ $json.priceWithoutTax.value }}",
"priceWithTax_currencyCode": "={{ $json.priceWithTax.currencyCode }}",
"priceWithoutTax_currencyCode": "={{ $json.priceWithoutTax.currencyCode }}"
},
"schema": [
{
"id": "Invoice",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Invoice",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "FY",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "FY",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "date",
"type": "string",
"display": true,
"required": false,
"displayName": "date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tax",
"type": "string",
"display": true,
"required": false,
"displayName": "tax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tax_value",
"type": "string",
"display": true,
"required": false,
"displayName": "tax_value",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tax_currencyCode",
"type": "string",
"display": true,
"required": false,
"displayName": "tax_currencyCode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pdfUrl",
"type": "string",
"display": true,
"required": false,
"displayName": "pdfUrl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithTax",
"type": "string",
"display": true,
"required": false,
"displayName": "priceWithTax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithTax_value",
"type": "string",
"display": true,
"required": false,
"displayName": "priceWithTax_value",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithTax_currencyCode",
"type": "string",
"display": true,
"required": false,
"displayName": "priceWithTax_currencyCode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "orderId",
"type": "string",
"display": true,
"required": false,
"displayName": "orderId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "url",
"type": "string",
"display": true,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "billId",
"type": "string",
"display": true,
"required": false,
"displayName": "billId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithoutTax",
"type": "string",
"display": true,
"required": false,
"displayName": "priceWithoutTax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithoutTax_value",
"type": "string",
"display": true,
"required": false,
"displayName": "priceWithoutTax_value",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithoutTax_currencyCode",
"type": "string",
"display": true,
"required": false,
"displayName": "priceWithoutTax_currencyCode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "password",
"type": "string",
"display": true,
"required": false,
"displayName": "password",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Filename",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "Filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "GDrive_ID",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "GDrive_ID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Invoice"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"cellFormat": "USER_ENTERED"
},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1935476633,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I/edit#gid=1935476633",
"cachedResultName": "OVH"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I/edit?usp=drivesdk",
"cachedResultName": "OVH Invoices (file -> make a copy)"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "IFXLAyqVJvO0sZ8g",
"name": "Google Sheets account"
}
},
"executeOnce": true,
"notesInFlow": true,
"typeVersion": 4.5
},
{
"id": "f2683a37-81fd-4410-9158-3c2f5b7aa1af",
"name": "Sticky Note8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-3260,
-380
],
"parameters": {
"width": 740,
"height": 720,
"content": "# 🛠️Setup Guide 'Get OVH Invoices to Google Sheets'\n**Author: [Oliver Bardenheier](https://www.linkedin.com/in/oliver-bardenheier)**\n\n1. **Make a copy** of this [Google Sheet Template](https://docs.google.com/spreadsheets/d/1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I/edit?usp=sharing) \n\n2. Set the timeframe for the query to Your likings in *\"Query Latest OVH Invoices\"*\nYou could set an email trigger before and make the frame only one day.\n\n3. Log into Your OVH Account and get Your Credentials [here](https://eu.api.ovh.com/console/?section=%2Fiam&branch=v2#auth)\n\nAuthentication using oAuth2 Authorization Code\n\"Login with OVHcloud SSO\"\n\nYou need to Authorize OVHcloud API console\n\nIf this worked fine You'll see a green text: \n\"Access Token Received\"\n\n4. Head over to the [OVH API Console](https://eu.api.ovh.com/console/?section=%2Fme&branch=v1#get-/me) to get Your Token.\n\n5. Set Up *Header Auth* in the HTTP nodes: \n- Authentication = Generic Credential Type\n- Generic Auth Type = Header Auth\n- Header Auth = Your OVH Header Credentials:\n -- a.) In every API Call in the console You'll find a curl example, just take the data from the line including: \n -H \"authorization: Bearer eyJhxxxxxxxxxxxxxxxxxxxxxxxxxxxxx......\"\n\n -- b.) Create a new Credential in n8n for the header auth. \n Put in the 'name' Field: authorization\n Copy Your Token including Bearer in the value field: 'Bearer eyJhxxxxxxxxxxxxxxxxxxxxxxxxxxxxx......'\n\n"
},
"typeVersion": 1
},
{
"id": "3d7bc6f9-d359-43b8-963e-5186685d0a14",
"name": "Query Latest OVH Invoices",
"type": "n8n-nodes-base.httpRequest",
"position": [
-2440,
-220
],
"parameters": {
"url": "https://eu.api.ovh.com/v1/me/bill",
"options": {},
"sendQuery": true,
"sendHeaders": true,
"authentication": "genericCredentialType",
"genericAuthType": "httpHeaderAuth",
"queryParameters": {
"parameters": [
{
"name": "date.to",
"value": "={{ $now }}"
},
{
"name": "date.from",
"value": "={{ $now.minus(3, 'months') }}"
}
]
},
"headerParameters": {
"parameters": [
{
"name": "accept",
"value": "application/json"
}
]
}
},
"credentials": {
"httpHeaderAuth": {
"id": "1bxcEJTtubhOMAbH",
"name": "Header Auth OVH"
}
},
"executeOnce": true,
"typeVersion": 4.2
},
{
"id": "7abe76bc-8552-4f79-8396-382a4dd6ea72",
"name": "Convert to Array",
"type": "n8n-nodes-base.code",
"position": [
-2220,
-220
],
"parameters": {
"jsCode": "return [{ json: { invoices: items.map(i => i.json) } }];\n"
},
"typeVersion": 2
},
{
"id": "ce0fd793-285f-4c74-bead-dc195bd425c4",
"name": "Check for FY Folder ID",
"type": "n8n-nodes-base.googleDrive",
"position": [
-2460,
260
],
"parameters": {
"filter": {
"folderId": {
"__rl": true,
"mode": "id",
"value": "[Put here Your main Invoice Folder]"
},
"whatToSearch": "folders"
},
"options": {
"fields": [
"id",
"name"
]
},
"resource": "fileFolder",
"queryString": "={{DateTime.fromISO($('Get Invoice Data').item.json.date, { locale: 'de' }).toFormat('y')}}"
},
"credentials": {
"googleDriveOAuth2Api": {
"id": "ed9xmblpdCj6Gp9X",
"name": "Google Drive account"
}
},
"typeVersion": 3,
"alwaysOutputData": true
},
{
"id": "bd2b8556-675e-4183-9ba7-336eb71f643b",
"name": "Does Folder exist",
"type": "n8n-nodes-base.if",
"position": [
-2240,
260
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "f6851a49-8ee0-45c1-8d1a-76de36136374",
"operator": {
"type": "object",
"operation": "empty",
"singleValue": true
},
"leftValue": "={{ $('Check for FY Folder ID').item.json }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "79dc558d-3ccb-4a41-9349-33b6f6e9c8db",
"name": "Update Record Data with FileID",
"type": "n8n-nodes-base.googleSheets",
"position": [
-1360,
280
],
"parameters": {
"columns": {
"value": {
"Invoice": "={{ $('Loop Over Items').item.json.invoices }}",
"Filename": "={{ $('Safe File').item.json.name }}",
"GDrive_ID": "={{ $('Safe File').item.json.id }}"
},
"schema": [
{
"id": "Invoice",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Invoice",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "FY",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "FY",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "date",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "date",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tax",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "tax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tax_value",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "tax_value",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "tax_currencyCode",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "tax_currencyCode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "pdfUrl",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "pdfUrl",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithTax",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "priceWithTax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithTax_value",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "priceWithTax_value",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithTax_currencyCode",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "priceWithTax_currencyCode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "orderId",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "orderId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "url",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "url",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "billId",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "billId",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "category",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "category",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithoutTax",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "priceWithoutTax",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithoutTax_value",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "priceWithoutTax_value",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "priceWithoutTax_currencyCode",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "priceWithoutTax_currencyCode",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "password",
"type": "string",
"display": true,
"removed": true,
"required": false,
"displayName": "password",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Filename",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "Filename",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "GDrive_ID",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "GDrive_ID",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"Invoice"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {
"cellFormat": "USER_ENTERED"
},
"operation": "appendOrUpdate",
"sheetName": {
"__rl": true,
"mode": "list",
"value": 1935476633,
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I/edit#gid=1935476633",
"cachedResultName": "OVH"
},
"documentId": {
"__rl": true,
"mode": "list",
"value": "1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1NDQVUayKCUktwhDfgdyueW15JPeQZl_oExO_4O5GV-I/edit?usp=drivesdk",
"cachedResultName": "OVH Invoices (file -> make a copy)"
}
},
"credentials": {
"googleSheetsOAuth2Api": {
"id": "IFXLAyqVJvO0sZ8g",
"name": "Google Sheets account"
}
},
"typeVersion": 4.5
},
{
"id": "5496b950-8218-4ccb-8923-b234a54f70fd",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2500,
-380
],
"parameters": {
"color": 5,
"width": 620,
"height": 440,
"content": "## Query OVH Invoices\nSet the timeframe for the query to Your likings in *\"Query Latest OVH Invoices\"*\nYou could set an email trigger before and make the frame only one day.\nFind Query String Parameters and curl [here](https://eu.api.ovh.com/console/?section=%2Fme&branch=v1#get-/me/bill)"
},
"typeVersion": 1
},
{
"id": "fb298013-68cf-4235-8e68-108d47bfceac",
"name": "Sticky Note1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1860,
-380
],
"parameters": {
"color": 4,
"width": 700,
"height": 440,
"content": "## Query Invoice Details and put to Google Sheet\nFind Query String Parameters and curl [here](https://eu.api.ovh.com/console/?section=%2Fme&branch=v1#get-/me/bill/-billId-)\nAmend the expression for 'date' to reflect Your locale\n{{DateTime.fromISO($json.date, { locale: 'de' }).toFormat('dd.MM.yyyy')}}\n"
},
"typeVersion": 1
},
{
"id": "f55e9d6b-2551-4a08-8184-9949b3ecbe4b",
"name": "Sticky Note2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2500,
80
],
"parameters": {
"color": 6,
"width": 1340,
"height": 440,
"content": "## Download Invoice PDF and save to Google Drive in Yearly Folder"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "c0e0e7cd-c173-42c4-a272-7d3e2db423cc",
"connections": {
"Safe File": {
"main": [
[
{
"node": "Update Record Data with FileID",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Download PDF": {
"main": [
[
{
"node": "Safe File",
"type": "main",
"index": 0
}
]
]
},
"Create Folder": {
"main": [
[
{
"node": "Download PDF",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[],
[
{
"node": "Get Invoice Data",
"type": "main",
"index": 0
}
]
]
},
"Convert to Array": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Get Invoice Data": {
"main": [
[
{
"node": "Record in OVH Sheet",
"type": "main",
"index": 0
}
]
]
},
"Does Folder exist": {
"main": [
[
{
"node": "Create Folder",
"type": "main",
"index": 0
}
],
[
{
"node": "Download PDF",
"type": "main",
"index": 0
}
]
]
},
"Record in OVH Sheet": {
"main": [
[
{
"node": "Check for FY Folder ID",
"type": "main",
"index": 0
}
]
]
},
"Check for FY Folder ID": {
"main": [
[
{
"node": "Does Folder exist",
"type": "main",
"index": 0
}
]
]
},
"Query Latest OVH Invoices": {
"main": [
[
{
"node": "Convert to Array",
"type": "main",
"index": 0
}
]
]
},
"Update Record Data with FileID": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Query Latest OVH Invoices",
"type": "main",
"index": 0
}
]
]
}
}
}