n8n-nodes-qloapps
v1.1.0
Published
n8n node to fetch data from QloApps hotel booking system for Zoho Books integration
Readme
n8n-nodes-qloapps
This is an n8n community node that lets you fetch data from QloApps hotel booking system and format it for Zoho Books integration.
QloApps is an open-source hotel booking & reservation system.
n8n is a fair-code licensed workflow automation platform.
Features
- Fetch Invoices - Get all invoices from QloApps, automatically formatted for Zoho Books
- Fetch Orders - Get raw order data from QloApps
- Fetch Customers - Get customer data, with option to format for Zoho Books contacts
- Fetch Payments - Get payment transactions, detect new payments, format for Zoho Books
- Configurable Options - Invoice prefix, VAT rate, payment terms, template ID
Installation
Community Nodes (Recommended)
- Go to Settings > Community Nodes
- Select Install
- Enter
n8n-nodes-qloappsin "Enter npm package name" - Agree to the risks of using community nodes
- Click Install
Manual Installation
# Navigate to your n8n installation directory
cd ~/.n8n
# Install the node
npm install n8n-nodes-qloappsDokku Installation
# Set the custom extension
dokku config:set n8n N8N_CUSTOM_EXTENSIONS="n8n-nodes-qloapps"
# Restart n8n
dokku ps:restart n8nDevelopment Installation
# Clone this repository
git clone https://github.com/thanveerdev/n8n-nodes-qloapps-community.git
cd n8n-nodes-qloapps-community
# Install dependencies
npm install
# Build the node
npm run build
# Link for development
npm link
# In your n8n directory
cd ~/.n8n
npm link n8n-nodes-qloapps
# Restart n8n
n8n startCredentials
You need to set up QloApps API credentials:
- Base URL: Your QloApps installation URL (e.g.,
https://your-hotel.com) - API Key: Your 32-character webservice API key
Getting Your API Key
- Log in to your QloApps Back Office
- Go to Advanced Parameters > Webservice
- Enable the webservice if not already enabled
- Click Add new webservice key
- Generate a key and give it GET permissions for:
- orders
- order_payments
- customers
- addresses
- currencies
- countries
- Copy the generated key
Resources & Operations
| Resource | Operation | Description | |----------|-----------|-------------| | Invoice | Get All | Get all invoices formatted for Zoho Books | | Invoice | Get by Order ID | Get single invoice by order ID | | Order | Get All | Get all orders (raw data) | | Order | Get by ID | Get single order by ID | | Customer | Get All | Get all customers | | Customer | Get by ID | Get single customer by ID | | Customer | Get for Zoho | Get customers formatted for Zoho Books contacts | | Payment | Get All | Get all payment transactions | | Payment | Get by Order ID | Get payments for a specific order | | Payment | Get New Payments | Get payments added after a specific date | | Payment | Get for Zoho | Get payments formatted for Zoho Books |
Usage
Get All Invoices (Zoho Format)
- Add the QloApps node to your workflow
- Select Invoice as the resource
- Select Get All as the operation
- Configure options:
- Invoice Prefix: Default
#IN - VAT Rate: Default
5%(UAE) - Payment Terms: Default
30days - Output Format:
Zoho Books FormatorRaw QloApps Data
- Invoice Prefix: Default
Get New Payments (Since Date)
- Add the QloApps node to your workflow
- Select Payment as the resource
- Select Get New Payments or Get for Zoho as the operation
- Set the Since Date to filter payments added after that date
- Use with a scheduled trigger to detect new payments hourly/daily
Output Data Structure (Invoice - Zoho Format)
{
"invoice_number": "#IN000001",
"reference_number": "KUEESNVAU",
"date": "2025-10-01",
"due_date": "2025-10-31",
"status": "sent",
"customer_name": "John Doe",
"customer_email": "[email protected]",
"customer_phone": "971509315702",
"billing_address": "123 Main St",
"billing_city": "Dubai",
"billing_country": "United Arab Emirates",
"line_items": [
{
"name": "Accommodation",
"description": "Booking Reference: KUEESNVAU",
"rate": 1904.76,
"quantity": 1,
"tax_name": "VAT 5%",
"tax_percentage": 5
}
],
"currency_code": "AED",
"sub_total": 1904.76,
"tax_total": 95.24,
"total": 2000.00,
"_qloapps_order_id": 1,
"_qloapps_customer_id": 123
}Output Data Structure (Payment - Zoho Format)
{
"payment_id": 1,
"date": "2025-01-04",
"amount": 2000.00,
"payment_mode": "PayPal",
"reference_number": "TXN123456",
"invoice_number": "#IN000001",
"order_reference": "KUEESNVAU",
"description": "Payment for KUEESNVAU via PayPal",
"_qloapps_payment_id": 1,
"_qloapps_order_reference": "KUEESNVAU",
"_qloapps_order_id": 1,
"_qloapps_payment_method": "PayPal"
}Example Workflow: QloApps to Zoho Books (with Payments)
┌─────────────────────┐
│ Schedule Trigger │ ─── Runs every hour
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ QloApps Node │ ─── Payment → Get for Zoho (Since: last hour)
└──────────┬──────────┘
│
▼
┌─────────────────────┐
│ Loop Over Items │ ─── For each new payment
└──────────┬──────────┘
│
▼
┌─────────────────────────────────────┐
│ Zoho Books: Search Invoice │ ─── Find invoice by reference
└──────────┬──────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ Zoho Books: Record Payment │ ─── Record payment against invoice
└─────────────────────────────────────┘Resources
Changelog
v1.1.0
- Added Payment resource with operations:
- Get All: Fetch all payment transactions
- Get by Order ID: Get payments for specific order
- Get New Payments: Filter payments by date
- Get for Zoho: Format payments for Zoho Books payment recording
v1.0.0
- Initial release
- Invoice, Order, and Customer resources
- Zoho Books format output
License
MIT
Author
Yousco Holiday Homes
