qloapps

n8n node to fetch data from QloApps hotel booking system for Zoho Books integration

Package Information

Downloads: 4 weekly / 43 monthly
Latest Version: 1.1.0
Author: Yousco Holiday Homes

Documentation

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)

  1. Go to Settings > Community Nodes
  2. Select Install
  3. Enter n8n-nodes-qloapps in "Enter npm package name"
  4. Agree to the risks of using community nodes
  5. Click Install

Manual Installation

# Navigate to your n8n installation directory
cd ~/.n8n

# Install the node
npm install n8n-nodes-qloapps

Dokku Installation

# Set the custom extension
dokku config:set n8n N8N_CUSTOM_EXTENSIONS="n8n-nodes-qloapps"

# Restart n8n
dokku ps:restart n8n

Development 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 start

Credentials

You need to set up QloApps API credentials:

  1. Base URL: Your QloApps installation URL (e.g., https://your-hotel.com)
  2. API Key: Your 32-character webservice API key

Getting Your API Key

  1. Log in to your QloApps Back Office
  2. Go to Advanced Parameters > Webservice
  3. Enable the webservice if not already enabled
  4. Click Add new webservice key
  5. Generate a key and give it GET permissions for:
    • orders
    • order_payments
    • customers
    • addresses
    • currencies
    • countries
  6. 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)

  1. Add the QloApps node to your workflow
  2. Select Invoice as the resource
  3. Select Get All as the operation
  4. Configure options:
    • Invoice Prefix: Default #IN
    • VAT Rate: Default 5% (UAE)
    • Payment Terms: Default 30 days
    • Output Format: Zoho Books Format or Raw QloApps Data

Get New Payments (Since Date)

  1. Add the QloApps node to your workflow
  2. Select Payment as the resource
  3. Select Get New Payments or Get for Zoho as the operation
  4. Set the Since Date to filter payments added after that date
  5. 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": "john@example.com",
  "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

Discussion