# Moneybird

Moneybird is an online invoicing and accounting platform designed for small businesses and freelancers, offering features like invoicing, expense tracking, and financial reporting.

- **Category:** accounting
- **Auth:** OAUTH2, API_KEY
- **Composio Managed App Available?** Yes
- **Tools:** 21
- **Triggers:** 0
- **Slug:** `MONEYBIRD`
- **Version:** 20260211_00

## Tools

### Add Note to Contact

**Slug:** `MONEYBIRD_ADD_NOTE_TO_CONTACT`

Tool to add a note or to-do to a contact. Use when you need to record a comment or assign a task to a contact.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note` | object | Yes | Payload containing the note details |
| `contact_id` | string | Yes | ID of the contact to which the note will be added |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path. |

#### 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 |

### Archive Contact

**Slug:** `MONEYBIRD_ARCHIVE_CONTACT`

Tool to archive a contact. Use when a contact is no longer needed and should be hidden permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | The unique identifier of the contact to archive |
| `administration_id` | integer | Yes | The unique identifier of the administration |

#### 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 Moneybird Contact

**Slug:** `MONEYBIRD_CREATE_CONTACT`

Tool to create a new contact in Moneybird. Use after you have an administration ID and need to onboard a new company/person. Provide either company_name or both firstname and lastname.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `city` | string | No | City name |
| `phone` | string | No | Phone number |
| `country` | string | No | ISO 3166-1 alpha-2 country code, e.g., NL |
| `zipcode` | string | No | Postal code |
| `address1` | string | No | Street and number |
| `address2` | string | No | Additional address line |
| `lastname` | string | No | Last name; required if company_name is blank |
| `sepa_bic` | string | No | Valid BIC; required if sepa_active |
| `firstname` | string | No | First name; required if company_name is blank |
| `sepa_iban` | string | No | Valid IBAN; required if sepa_active |
| `tax_number` | string | No | Tax/VAT number |
| `customer_id` | string | No | Unique customer identifier; autogenerated if empty |
| `sepa_active` | boolean | No | Enable SEPA direct debit; when true, other SEPA fields are required |
| `bank_account` | string | No | Bank account number |
| `company_name` | string | No | Company name; required if firstname and lastname are blank |
| `si_identifier` | string | No | SEPA identifier |
| `delivery_method` | string ("Email" | "Simplerinvoicing" | "Peppol" | "Manual" | "Post") | No | Delivery method |
| `sepa_mandate_id` | string | No | Mandate ID; required if sepa_active |
| `administration_id` | integer | Yes | ID of the administration |
| `sepa_mandate_date` | string | No | Mandate date (YYYY-MM-DD); required if sepa_active |
| `sepa_sequence_type` | string ("RCUR" | "FRST" | "OOFF" | "FNAL") | No | SEPA sequence type; required if sepa_active |
| `si_identifier_type` | string | No | SEPA identifier type |
| `chamber_of_commerce` | string | No | Chamber of Commerce number |
| `invoice_workflow_id` | integer | No | Invoice workflow ID |
| `estimate_workflow_id` | integer | No | Estimate workflow ID |
| `send_invoices_to_email` | string | No | Comma-separated emails to send invoices to |
| `sepa_iban_account_name` | string | No | Account holder name for SEPA |
| `send_estimates_to_email` | string | No | Comma-separated emails to send estimates to |
| `custom_fields_attributes` | object | No | Custom fields as dict of {index:{id, value}} |

#### 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 Contact Person

**Slug:** `MONEYBIRD_CREATE_CONTACT_PERSON`

Tool to create a new contact person. Use when you have the contact ID and need to add a person after confirming their firstname and lastname.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | ID of the contact under which the person will be created |
| `contact_person` | object | Yes | Container for all contact person fields |
| `administration_id` | integer | Yes | ID of the administration under which the contact person will be created |

#### 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 Sales Invoice

**Slug:** `MONEYBIRD_CREATE_SALES_INVOICE`

Tool to create a new sales invoice. Use when you need to bill a contact with specified line items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sales_invoice` | object | Yes | Sales invoice data to create |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path |

#### 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 |

### Delete Contact

**Slug:** `MONEYBIRD_DELETE_CONTACT`

Tool to delete a contact. Use after confirming that contact should be removed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | ID of the contact to delete |
| `administration_id` | integer | Yes | ID of the administration |

#### 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 |

### Delete Contact Note

**Slug:** `MONEYBIRD_DELETE_CONTACT_NOTE`

Tool to delete a note from a contact. Use when a note is no longer needed and should be removed permanently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `note_id` | integer | Yes | The unique identifier of the note to delete |
| `contact_id` | integer | Yes | The unique identifier of the contact |
| `administration_id` | integer | Yes | The unique identifier of the administration |

#### 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 |

### Delete Contact Person

**Slug:** `MONEYBIRD_DELETE_CONTACT_PERSON`

Tool to delete a contact person from a contact. Use after confirming the administration_id, contact_id, and contact_person_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | The ID of the contact from which to remove a person |
| `administration_id` | integer | Yes | The Moneybird administration ID under which the contact resides |
| `contact_person_id` | integer | Yes | The ID of the contact person to delete |

#### 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 |

### Filter Contacts

**Slug:** `MONEYBIRD_FILTER_CONTACTS`

Tool to filter contacts. Use when you need to retrieve contacts matching specific criteria like created_after or first_name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `per_page` | integer | No | Number of contacts to return per page (1-100) |
| `last_name` | string | No | Filter contacts by last name (case-insensitive) |
| `first_name` | string | No | Filter contacts by first name (case-insensitive) |
| `created_after` | string | No | Select contacts created after this ISO 8601 UTC datetime (exclusive), e.g., '2025-05-06T07:27:49Z' |
| `updated_after` | string | No | Select contacts updated after this ISO 8601 UTC datetime (exclusive), e.g., '2025-05-07T07:27:54Z' |
| `include_archived` | boolean | No | Include archived contacts in the results |
| `administration_id` | integer | Yes | Numeric administration ID for the Moneybird URL path. |

#### 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 Additional Charges

**Slug:** `MONEYBIRD_GET_ADDITIONAL_CHARGES`

Tool to get additional charges for a contact. Use when you need to view pending (or optionally billed) usage or recurring charges.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | ID of the contact to retrieve additional charges for |
| `include_billed` | boolean | No | If true, includes additional charges that have already been billed. Default is false. |
| `administration_id` | integer | Yes | Numeric administration ID, as part of the Moneybird URL path. |

#### 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 Contact

**Slug:** `MONEYBIRD_GET_CONTACT`

Tool to retrieve all information about a specific contact by ID. Use when you need the full details of a contact, for example before generating invoices.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | string | Yes | ID of the contact to retrieve |
| `include_archived` | boolean | No | Return archived contact when true (default false) |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path |

#### 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 Contact by Customer ID

**Slug:** `MONEYBIRD_GET_CONTACT_BY_CUSTOMER_ID`

Tool to retrieve full contact details by customer ID. Use when you need all fields of a contact given its customer_id.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `customer_id` | string | Yes | Unique customer identifier for the contact. |
| `administration_id` | integer | Yes | Numeric administration ID, used in the URL path. |

#### 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 Contact Person

**Slug:** `MONEYBIRD_GET_CONTACT_PERSON`

Tool to get all information about a contact person. Use when you have the administration, contact, and contact person IDs and need full details before updating.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | The ID of the contact to which the person belongs. |
| `administration_id` | integer | Yes | Numeric administration ID, used in the URL path. |
| `contact_person_id` | integer | Yes | The ID of the contact person to retrieve. |

#### 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 Sales Invoice

**Slug:** `MONEYBIRD_GET_SALES_INVOICE`

Tool to get a single sales invoice by ID. Use when you need detailed invoice data for a known invoice ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `invoice_id` | string | Yes | ID of the sales invoice to retrieve |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path |

#### 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 |

### List Administrations

**Slug:** `MONEYBIRD_LIST_ADMINISTRATIONS`

Tool to list all administrations accessible by the authenticated user. Use when you need to obtain administration_id for subsequent operations like create_contact.

#### 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 |

### List Contacts Synchronization

**Slug:** `MONEYBIRD_LIST_CONTACTS_SYNCHRONIZATION`

Tool to list all contact IDs and versions for synchronization. Use when you need to detect which contacts have changed and update local data accordingly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `filter` | string | No | Optional filter expression to narrow results, e.g., 'first_name:henk' |
| `include_archived` | boolean | No | If true, include archived contacts in the synchronization list |
| `administration_id` | integer | Yes | The unique identifier of the administration |

#### 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 |

### List Sales Invoices

**Slug:** `MONEYBIRD_LIST_SALES_INVOICES`

Tool to list all sales invoices in an administration. Use when you need an overview of invoices for a given administration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (must be >= 1). |
| `filter` | string | No | Filter expression to limit invoices. See Moneybird docs for supported filters, e.g., 'state=sent' or 'period=current_year'. |
| `per_page` | integer | No | Number of invoices per page (max 100). |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path |

#### 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 |

### Request Payments Mandate URL

**Slug:** `MONEYBIRD_REQUEST_CONTACT_PAYMENTS_MANDATE_URL`

Tool to request a URL for setting up a Payments mandate. Use when you need to generate a direct-debit authorization link for a contact (valid for 14 days).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact_id` | integer | Yes | ID of the contact for which to generate a payments mandate URL |
| `identity_id` | integer | No | Optional identity ID when multiple identities exist; must be a valid identity. |
| `administration_id` | integer | Yes | Numeric administration ID, as part of the Moneybird URL path. |

#### 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:** `MONEYBIRD_UPDATE_CONTACT`

Tool to update a contact. Use when you need to modify existing contact details by ID. Only provided fields will be changed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `contact` | object | Yes | Key-value map of contact fields to update |
| `contact_id` | string | Yes | ID of the contact to update |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path |

#### 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 Person

**Slug:** `MONEYBIRD_UPDATE_CONTACT_PERSON`

Tool to update a contact person. Use after selecting a specific contact person when you need to change their details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Email address of the contact person. |
| `phone` | string | No | Phone number of the contact person. |
| `lastname` | string | No | Last name of the contact person. |
| `firstname` | string | No | First name of the contact person. |
| `contact_id` | string | Yes | ID of the contact containing the person to update. |
| `department` | string | No | Department of the contact person. |
| `administration_id` | integer | Yes | Numeric administration ID, part of the Moneybird URL path. |
| `contact_person_id` | string | Yes | ID of the contact person to update. |

#### 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 Sales Invoice

**Slug:** `MONEYBIRD_UPDATE_SALES_INVOICE`

Tool to update an existing sales invoice by ID. Use when modifying invoice header or line items.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sales_invoice` | object | Yes | Fields to update on the invoice |
| `sales_invoice_id` | string | Yes | ID of the sales invoice to update |
| `administration_id` | integer | Yes | Administration ID in Moneybird URL path |

#### 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 |
