# Elorus

Elorus is an online invoicing and time-tracking software designed for freelancers and small businesses to manage their finances and projects efficiently.

- **Category:** proposal & invoice management
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 13
- **Triggers:** 0
- **Slug:** `ELORUS`
- **Version:** 20260227_00

## Tools

### Create Invoice

**Slug:** `ELORUS_CREATE_INVOICE`

Creates a new invoice or receipt in Elorus. Invoices are automatically saved as drafts by default and use the 'initial' calculation mode (amounts specified before taxes). Required: issue_date, currency_id (currency code like 'INR', 'EUR', 'USD'), client_id (from contacts), kind ('invoice' or 'receipt'), series_id (document type ID), and at least one line item. Use ELORUS_GET_CONTACTS to obtain valid client_id values, and check existing invoices for valid currency codes and series_id (documenttype) values in your organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string ("invoice" | "receipt") | Yes | Document type: 'invoice' for standard invoices or 'receipt' for receipts |
| `tags` | array | No | Optional list of tag labels for categorizing the invoice |
| `items` | array | Yes | Line items for the invoice |
| `notes` | string | No | Optional notes visible to the client on the invoice |
| `discount` | number | No | Optional invoice-level discount amount (must be non-negative) |
| `client_id` | string | Yes | Client/customer ID obtained from the contacts list |
| `series_id` | string | Yes | Document type ID (also known as 'documenttype') that defines the numbering series |
| `issue_date` | string | Yes | Invoice issue date in ISO-8601 format (YYYY-MM-DD), e.g., '2026-01-29' |
| `currency_id` | string | Yes | Currency code (e.g., 'INR', 'EUR', 'USD') for the invoice |
| `payable_date` | string | No | Optional payment due date in ISO-8601 format (YYYY-MM-DD), e.g., '2026-02-28' |
| `document_number` | string | No | Optional custom document number to override auto-generated numbering |
| `contact_address_id` | string | No | Optional alternate billing/shipping address ID for the client |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### CREATE_PRODUCT

**Slug:** `ELORUS_CREATE_PRODUCT`

Create a new product or service in Elorus. Use this to add items to your product catalog with pricing, tax settings, and inventory management options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Product code (internal reference). |
| `sales` | boolean | No | Whether the product is available for sales. Defaults to True. |
| `stock` | string | No | Initial stock level (required if manage=True). |
| `title` | string | Yes | Product title/name. |
| `active` | boolean | No | Whether the product is active. Defaults to True. |
| `manage` | boolean | No | Whether to manage inventory for this product. Defaults to False. |
| `custom_id` | string | No | Custom product ID. |
| `purchases` | boolean | No | Whether the product is available for purchases. Defaults to False. |
| `sale_taxes` | array | No | List of tax IDs to apply to sales. |
| `sale_value` | string | No | Sale price as decimal string. |
| `taric_code` | string | No | TARIC code for customs declarations (must be at least 10 characters). |
| `description` | string | No | Product description. |
| `unit_measure` | string | No | Unit of measurement symbol. Must be a valid unit configured in your Elorus account (required if manage=True). |
| `purchase_taxes` | array | No | List of tax IDs to apply to purchases. |
| `purchase_value` | string | No | Purchase price as decimal string. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Email Invoice

**Slug:** `ELORUS_EMAIL_INVOICE`

Tool to email an existing invoice to specified contacts. Use after generating an invoice and obtaining contact IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `cc` | array | No | Optional list of email addresses to CC on the invoice email |
| `bcc` | array | No | Optional list of email addresses to BCC on the invoice email |
| `contacts` | array | Yes | List of contact IDs to send the invoice email to |
| `email_body` | string | Yes | Body text for the invoice email |
| `invoice_id` | integer | Yes | ID of the invoice to send via email |
| `email_subject` | string | Yes | Subject line for the invoice email |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Bills

**Slug:** `ELORUS_GET_BILLS`

Retrieve a paginated list of bills (expenses/purchases) from Elorus. Supports filtering by supplier, date range, status, and text search. Use this to view and manage bills created in your organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, must be >= 1 |
| `period` | string | No | Predefined time period: 'today', 'current_week', 'current_month', 'current_year', 'last_week', 'last_month', 'last_year', or 'last_N_days/weeks/months/years' (e.g., 'last_7_days') |
| `search` | string | No | General search term to filter bills |
| `status` | string ("draft" | "pending" | "issued" | "partial" | "unpaid" | "overdue" | "paid" | "void") | No | Filter by bill status |
| `ordering` | string | No | Sort results by field: 'date', 'supplier__display_name', 'total', 'due_date', 'created', 'modified'. Prepend '-' for descending order (e.g., '-date'). |
| `supplier` | string | No | Filter by supplier ID |
| `page_size` | integer | No | Number of items per page, must be between 1 and 250 (default: 100) |
| `period_to` | string | No | Filter bills up to this date (YYYY-MM-DD format). Must be used together with period_from. |
| `period_from` | string | No | Filter bills from this date onwards (YYYY-MM-DD format). Must be used together with period_to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Contacts

**Slug:** `ELORUS_GET_CONTACTS`

Tool to retrieve a list of contacts. Use after authentication to fetch contacts in batches. Example: 'List page 2 of active company contacts sorted by name.'

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Results page number (minimum 1). |
| `search` | string | No | Full-text search across name, code, VAT, etc. |
| `order_by` | string | No | Field to sort by (e.g., 'name', 'created'). |
| `statuses` | array | No | Filter by status values (e.g., ['active','archived']). |
| `is_company` | boolean | No | Filter by contact type: true=company, false=individual. |
| `sort_order` | string ("asc" | "desc") | No | Sort direction: 'asc' or 'desc'. |
| `contact_ids` | array | No | List of contact IDs to filter (will be comma-separated). |
| `custom_fields` | object | No | Filter by custom fields; map each custom field ID to a value. E.g., {'42': 'Gold member'} => custom_fields[42]=Gold member. |
| `show_archived` | boolean | No | Include archived contacts when true. |
| `items_per_page` | integer | No | Number of results per page (maximum 200). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Credit Notes

**Slug:** `ELORUS_GET_CREDIT_NOTES`

Tool to retrieve a list of credit notes. Use when you need to fetch credit notes filtered by page, contact, date range, or currency.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return, must be >= 1 |
| `contact` | integer | No | Filter results by contact ID |
| `currency` | string | No | Filter results by ISO 4217 currency code |
| `page_size` | integer | No | Number of results per page, must be >= 1 |
| `issued_on__gte` | string | No | Only include credit notes issued on or after this date (YYYY-MM-DD) |
| `issued_on__lte` | string | No | Only include credit notes issued on or before this date (YYYY-MM-DD) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Email Templates

**Slug:** `ELORUS_GET_EMAIL_TEMPLATES`

Tool to retrieve a list of email templates. Use when you need to fetch and page through existing templates in the organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve; defaults to first page if omitted |
| `page_size` | integer | No | Number of templates per page; defaults to server-side default if omitted |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Estimates

**Slug:** `ELORUS_GET_ESTIMATES`

Tool to retrieve a list of estimates. Use when you need to list estimates with pagination after creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, must be >= 1 |
| `page_size` | integer | No | Number of items per page, must be between 1 and 100 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Invoices

**Slug:** `ELORUS_GET_INVOICES`

Retrieves a paginated list of invoices from Elorus with flexible filtering options. Use this tool to: - List all invoices or filter by client, status, date ranges, currency, or tags - Paginate through large invoice lists - Sort invoices by various fields - Search for specific invoice numbers The response includes invoice summaries with key details like client name, amounts, dates, and status, making it suitable for dashboard views, reports, and bulk operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, must be >= 1 |
| `tags` | string | No | Filter by comma-separated tag names (e.g., 'urgent,consulting'). Returns invoices matching any of these tags. |
| `number` | string | No | Filter by exact invoice number (e.g., '1', '2', 'INV-2023-001') |
| `status` | string ("draft" | "issued" | "paid" | "cancelled") | No | Filter by invoice status: 'draft' (not sent), 'issued' (sent but unpaid), 'paid' (fully paid), 'cancelled' (voided) |
| `contact` | string | No | Filter by client/contact ID. Use to get all invoices for a specific customer. |
| `currency` | string | No | Filter by ISO 4217 currency code (e.g., 'USD', 'EUR', 'INR'). Returns only invoices in specified currency. |
| `ordering` | string | No | Sort results by field name. Prefix with '-' for descending order (e.g., '-date' for newest first, 'number' for ascending). |
| `page_size` | integer | No | Number of items per page, must be between 1 and 100 |
| `due_date__gte` | string | No | Filter invoices due on or after this date (ISO 8601 format: YYYY-MM-DD). Find invoices becoming due soon. |
| `due_date__lte` | string | No | Filter invoices due on or before this date (ISO 8601 format: YYYY-MM-DD). Find overdue or soon-due invoices. |
| `issue_date__gte` | string | No | Filter invoices issued on or after this date (ISO 8601 format: YYYY-MM-DD). Useful for date range queries. |
| `issue_date__lte` | string | No | Filter invoices issued on or before this date (ISO 8601 format: YYYY-MM-DD). Combine with issue_date__gte for date ranges. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Products

**Slug:** `ELORUS_GET_PRODUCTS`

Tool to retrieve a list of products/services with optional filtering, sorting, and pagination. Use when you need to fetch products for reports, UI lists, or inventory management.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to retrieve, must be >= 1 |
| `sort` | string | No | Field to sort by; prefix with '-' for descending, e.g. '-name' |
| `limit` | integer | No | Number of items per page, must be >= 1 |
| `fields` | string | No | Comma-separated list of fields to include in the response, e.g. 'id,name,price' |
| `filter` | string | No | Filter by matching code or name (partial, case-insensitive) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Taxes

**Slug:** `ELORUS_GET_TAXES`

Tool to retrieve a list of taxes. Use after authentication to list taxes with optional filters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search query to filter taxes |
| `page` | integer | No | Page number to retrieve, must be >= 1 |
| `per_page` | integer | No | Number of results per page, must be between 1 and 100 |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Templates

**Slug:** `ELORUS_GET_TEMPLATES`

Retrieves document templates used for formatting invoices, estimates, credit notes, and other business documents in Elorus. Templates define the visual layout, language, company branding, and default terms/notes for generated documents. Use this to list available templates, identify the default template, or get template IDs for document creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number of results to fetch (must be >= 1) |
| `per_page` | integer | No | Number of results per page (1–200) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Contact

**Slug:** `ELORUS_UPDATE_CONTACT`

Update an existing contact in Elorus by ID. Allows modifying contact details such as name, company, addresses, and communication preferences. Use this tool when you need to: - Update contact information (name, company, VAT number) - Modify contact addresses, emails, or phone numbers - Change contact type (client/supplier status) - Update language or currency preferences Note: At least one of first_name, last_name, or company must be provided in the update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the contact to update |
| `email` | array | No | List of email objects for this contact (each with email and primary fields) |
| `phones` | array | No | List of phone objects for this contact (each with number and primary fields) |
| `company` | string | No | Company name for business contacts |
| `addresses` | array | No | List of addresses for this contact |
| `custom_id` | string | No | Custom identifier for the contact |
| `is_client` | boolean | No | Whether this contact is a client (receives invoices/estimates) |
| `last_name` | string | No | Last name of the contact person |
| `first_name` | string | No | First name of the contact person |
| `profession` | string | No | Profession or job title of the contact |
| `vat_number` | string | No | VAT/tax identification number |
| `is_supplier` | boolean | No | Whether this contact is a supplier (sends bills) |
| `default_language` | string | No | Default language code for communications (e.g., 'en', 'el') |
| `default_currency_code` | string | No | Default currency code for transactions (e.g., 'USD', 'EUR') |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
