dolibarr 24.0.0-beta
ToolInvoices Class Reference

Class ToolInvoices. More...

Inheritance diagram for ToolInvoices:
Collaboration diagram for ToolInvoices:

Public Member Functions

 __construct (DoliDB $db)
 Constructor.
 
 getDefinitions ()
 Returns an array of tool definitions, including name, description, and input schema.
 
 getCategories ()
 Return categories this tool belongs to.
 
 execute (string $name, array $args)
 Executes the requested tool function based on its name.
 
- Public Member Functions inherited from McpTool
 __construct ($db, $user, $conf)
 Constructor.
 
 isSystem ()
 Return true if this is a system/infrastructure tool that must always remain visible and executable regardless of the admin allow-list.
 

Private Member Functions

 searchInvoices ($args)
 Search invoices based on filters.
 
 getInvoice ($args)
 Get full invoice details.
 
 validateInvoice ($args)
 Validate a draft invoice.
 
 payInvoice ($args)
 Register a payment on an invoice.
 
 findCustomer ($identifier)
 Find a customer by identifier.
 
 findInvoice ($identifier)
 Find an invoice by identifier.
 
 findBankAccount ($identifier)
 Find a bank account.
 

Detailed Description

Class ToolInvoices.

Provides various tools related to Dolibarr invoices.

Definition at line 37 of file invoices.class.php.

Constructor & Destructor Documentation

◆ __construct()

ToolInvoices::__construct ( DoliDB $db)

Constructor.

Parameters
DoliDB$dbDatabase handler

Definition at line 45 of file invoices.class.php.

References $db.

Member Function Documentation

◆ execute()

ToolInvoices::execute ( string $name,
array $args )

Executes the requested tool function based on its name.

Parameters
string$nameThe name of the tool to execute.
array<string,mixed>$args The arguments for the tool (key-value pairs).
Returns
mixed The result of the tool execution (usually an array) or an error array.

Reimplemented from McpTool.

Definition at line 142 of file invoices.class.php.

References getInvoice(), payInvoice(), searchInvoices(), and validateInvoice().

◆ findBankAccount()

ToolInvoices::findBankAccount ( $identifier)
private

Find a bank account.

Parameters
string | int$identifierBank account id, ref or label
Returns
object|null

Definition at line 515 of file invoices.class.php.

References getEntity().

Referenced by payInvoice().

◆ findCustomer()

ToolInvoices::findCustomer ( $identifier)
private

Find a customer by identifier.

Parameters
string$identifierID, ref, code or name
Returns
Societe|array<string, mixed>

Definition at line 418 of file invoices.class.php.

References getEntity().

Referenced by searchInvoices().

◆ findInvoice()

ToolInvoices::findInvoice ( $identifier)
private

Find an invoice by identifier.

Parameters
string | int$identifierInvoice ID or ref
Returns
Facture|array<string, string>

Definition at line 487 of file invoices.class.php.

Referenced by getInvoice(), payInvoice(), and validateInvoice().

◆ getCategories()

ToolInvoices::getCategories ( )

Return categories this tool belongs to.

Used by the intent parser to filter available tools.

Returns
array<string> List of categories (e.g., ['billing', 'commercial'])

Reimplemented from McpTool.

Definition at line 130 of file invoices.class.php.

◆ getDefinitions()

ToolInvoices::getDefinitions ( )

Returns an array of tool definitions, including name, description, and input schema.

Returns
list<array<string, mixed>> Array of tool definitions.

Reimplemented from McpTool.

Definition at line 55 of file invoices.class.php.

◆ getInvoice()

ToolInvoices::getInvoice ( $args)
private

Get full invoice details.

Parameters
array<string,mixed>$args Input parameters (ref or id)
Returns
array<string, mixed>

Definition at line 267 of file invoices.class.php.

References $id, dol_html_entity_decode(), dol_print_date(), findInvoice(), and price().

Referenced by execute().

◆ payInvoice()

ToolInvoices::payInvoice ( $args)
private

Register a payment on an invoice.

Parameters
array<string,mixed>$args Input parameters (invoice, amount, payment_mode, bank_account)
Returns
array<string, mixed>

Definition at line 352 of file invoices.class.php.

References dol_getIdFromCode(), dol_now(), findBankAccount(), findInvoice(), and price().

Referenced by execute().

◆ searchInvoices()

ToolInvoices::searchInvoices ( $args)
private

Search invoices based on filters.

Parameters
array<string,mixed>$args Input filters (limit, status, customer)
Returns
array<int, array<string, mixed>>|array<string, string>

Definition at line 170 of file invoices.class.php.

References dol_print_date(), dol_syslog(), findCustomer(), getEntity(), and price().

Referenced by execute().

◆ validateInvoice()

ToolInvoices::validateInvoice ( $args)
private

Validate a draft invoice.

Parameters
array<string,mixed>$args Input parameters (invoice ref or id)
Returns
array<string, mixed>

Definition at line 313 of file invoices.class.php.

References findInvoice().

Referenced by execute().


The documentation for this class was generated from the following file: