> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# odoo-finance

> Odoo Finance

**Server path:** `/odoo-finance` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                                      | Description                    |
| ------------------------------------------------------------------------- | ------------------------------ |
| [`odoo_finance_create_invoice`](#odoo_finance_create_invoice)             | Create an invoice or bill      |
| [`odoo_finance_create_payment`](#odoo_finance_create_payment)             | Create a payment               |
| [`odoo_finance_read_invoices`](#odoo_finance_read_invoices)               | Read invoices/bills by ID      |
| [`odoo_finance_read_payments`](#odoo_finance_read_payments)               | Read payments by ID            |
| [`odoo_finance_search_read_invoices`](#odoo_finance_search_read_invoices) | Search and read invoices/bills |
| [`odoo_finance_search_read_payments`](#odoo_finance_search_read_payments) | Search and read payments       |

***

## odoo\_finance\_create\_invoice

Create an invoice or bill

**Parameters:**

| Parameter | Type   | Required | Default | Description                           |
| --------- | ------ | -------- | ------- | ------------------------------------- |
| `values`  | object | Yes      | —       | Field values for the new invoice/bill |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "values": {
        "type": "object",
        "description": "Field values for the new invoice/bill",
        "properties": {
          "partner_id": {
            "type": "integer",
            "description": "Customer or vendor ID (required)"
          },
          "move_type": {
            "type": "string",
            "description": "Journal entry type",
            "enum": [
              "out_invoice",
              "in_invoice",
              "out_refund",
              "in_refund",
              "entry"
            ]
          },
          "invoice_date": {
            "type": "string",
            "description": "Invoice date (YYYY-MM-DD)"
          },
          "invoice_date_due": {
            "type": "string",
            "description": "Due date (YYYY-MM-DD)"
          },
          "journal_id": {
            "type": "integer",
            "description": "Journal ID"
          },
          "currency_id": {
            "type": "integer",
            "description": "Currency ID"
          },
          "ref": {
            "type": "string",
            "description": "Reference / payment communication"
          },
          "narration": {
            "type": "string",
            "description": "Terms and conditions"
          },
          "invoice_line_ids": {
            "type": "array",
            "items": {
              "type": "array"
            },
            "description": "Invoice lines as array of [0, 0, {values}] tuples"
          }
        },
        "required": [
          "partner_id",
          "move_type"
        ]
      }
    },
    "required": [
      "PCID",
      "values"
    ]
  }
  ```
</Expandable>

***

## odoo\_finance\_create\_payment

Create a payment

**Parameters:**

| Parameter | Type   | Required | Default | Description                      |
| --------- | ------ | -------- | ------- | -------------------------------- |
| `values`  | object | Yes      | —       | Field values for the new payment |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "values": {
        "type": "object",
        "description": "Field values for the new payment",
        "properties": {
          "partner_id": {
            "type": "integer",
            "description": "Partner ID"
          },
          "amount": {
            "type": "number",
            "description": "Payment amount"
          },
          "payment_type": {
            "type": "string",
            "description": "Payment type: inbound (receive) or outbound (send)",
            "enum": [
              "inbound",
              "outbound"
            ]
          },
          "journal_id": {
            "type": "integer",
            "description": "Journal ID (bank/cash)"
          },
          "date": {
            "type": "string",
            "description": "Payment date (YYYY-MM-DD)"
          },
          "ref": {
            "type": "string",
            "description": "Memo / reference"
          },
          "currency_id": {
            "type": "integer",
            "description": "Currency ID"
          },
          "partner_type": {
            "type": "string",
            "description": "Partner type",
            "enum": [
              "customer",
              "supplier"
            ]
          }
        },
        "required": [
          "partner_id",
          "amount",
          "payment_type",
          "journal_id"
        ]
      }
    },
    "required": [
      "PCID",
      "values"
    ]
  }
  ```
</Expandable>

***

## odoo\_finance\_read\_invoices

Read invoices/bills by ID

**Parameters:**

| Parameter | Type       | Required | Default | Description                                                                                                |
| --------- | ---------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `fields`  | string\[]  | No       | —       | List of field names to return. If empty or omitted, returns all fields. Example: \['name','email','phone'] |
| `ids`     | integer\[] | Yes      | —       | Array of record IDs to read, update, or delete                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of field names to return. If empty or omitted, returns all fields. Example: ['name','email','phone']"
      },
      "ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "Array of record IDs to read, update, or delete"
      }
    },
    "required": [
      "PCID",
      "ids"
    ]
  }
  ```
</Expandable>

***

## odoo\_finance\_read\_payments

Read payments by ID

**Parameters:**

| Parameter | Type       | Required | Default | Description                                                                                                |
| --------- | ---------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------- |
| `fields`  | string\[]  | No       | —       | List of field names to return. If empty or omitted, returns all fields. Example: \['name','email','phone'] |
| `ids`     | integer\[] | Yes      | —       | Array of record IDs to read, update, or delete                                                             |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of field names to return. If empty or omitted, returns all fields. Example: ['name','email','phone']"
      },
      "ids": {
        "type": "array",
        "items": {
          "type": "integer"
        },
        "description": "Array of record IDs to read, update, or delete"
      }
    },
    "required": [
      "PCID",
      "ids"
    ]
  }
  ```
</Expandable>

***

## odoo\_finance\_search\_read\_invoices

Search and read invoices/bills

**Parameters:**

| Parameter | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                         |
| --------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`  | any\[]    | No       | —       | Odoo domain filter. Array of conditions where each condition is \[field, operator, value]. Operators: =, !=, >, >=, \<, \<=, like, ilike, in, not in, child\_of, parent\_of. Logical operators '&' (AND, default), '\|' (OR), '!' (NOT) can prefix conditions. Example: \[\['is\_company','=',true],\['country\_id.code','=','US']] |
| `fields`  | string\[] | No       | —       | List of field names to return. If empty or omitted, returns all fields. Example: \['name','email','phone']                                                                                                                                                                                                                          |
| `limit`   | integer   | No       | —       | Maximum number of records to return. Default is 80.                                                                                                                                                                                                                                                                                 |
| `offset`  | integer   | No       | —       | Number of records to skip for pagination. Default is 0.                                                                                                                                                                                                                                                                             |
| `order`   | string    | No       | —       | Sort order. Format: 'field\_name asc' or 'field\_name desc'. Multiple fields: 'name asc, id desc'.                                                                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "domain": {
        "type": "array",
        "description": "Odoo domain filter. Array of conditions where each condition is [field, operator, value]. Operators: =, !=, >, >=, <, <=, like, ilike, in, not in, child_of, parent_of. Logical operators '&' (AND, default), '|' (OR), '!' (NOT) can prefix conditions. Example: [['is_company','=',true],['country_id.code','=','US']]"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of field names to return. If empty or omitted, returns all fields. Example: ['name','email','phone']"
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of records to return. Default is 80."
      },
      "offset": {
        "type": "integer",
        "description": "Number of records to skip for pagination. Default is 0."
      },
      "order": {
        "type": "string",
        "description": "Sort order. Format: 'field_name asc' or 'field_name desc'. Multiple fields: 'name asc, id desc'."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>

***

## odoo\_finance\_search\_read\_payments

Search and read payments

**Parameters:**

| Parameter | Type      | Required | Default | Description                                                                                                                                                                                                                                                                                                                         |
| --------- | --------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`  | any\[]    | No       | —       | Odoo domain filter. Array of conditions where each condition is \[field, operator, value]. Operators: =, !=, >, >=, \<, \<=, like, ilike, in, not in, child\_of, parent\_of. Logical operators '&' (AND, default), '\|' (OR), '!' (NOT) can prefix conditions. Example: \[\['is\_company','=',true],\['country\_id.code','=','US']] |
| `fields`  | string\[] | No       | —       | List of field names to return. If empty or omitted, returns all fields. Example: \['name','email','phone']                                                                                                                                                                                                                          |
| `limit`   | integer   | No       | —       | Maximum number of records to return. Default is 80.                                                                                                                                                                                                                                                                                 |
| `offset`  | integer   | No       | —       | Number of records to skip for pagination. Default is 0.                                                                                                                                                                                                                                                                             |
| `order`   | string    | No       | —       | Sort order. Format: 'field\_name asc' or 'field\_name desc'. Multiple fields: 'name asc, id desc'.                                                                                                                                                                                                                                  |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "domain": {
        "type": "array",
        "description": "Odoo domain filter. Array of conditions where each condition is [field, operator, value]. Operators: =, !=, >, >=, <, <=, like, ilike, in, not in, child_of, parent_of. Logical operators '&' (AND, default), '|' (OR), '!' (NOT) can prefix conditions. Example: [['is_company','=',true],['country_id.code','=','US']]"
      },
      "fields": {
        "type": "array",
        "items": {
          "type": "string"
        },
        "description": "List of field names to return. If empty or omitted, returns all fields. Example: ['name','email','phone']"
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of records to return. Default is 80."
      },
      "offset": {
        "type": "integer",
        "description": "Number of records to skip for pagination. Default is 0."
      },
      "order": {
        "type": "string",
        "description": "Sort order. Format: 'field_name asc' or 'field_name desc'. Multiple fields: 'name asc, id desc'."
      }
    },
    "required": [
      "PCID"
    ]
  }
  ```
</Expandable>
