Skip to main content

cli-dolibarr

A stateful command-line interface for managing Dolibarr ERP/CRM via its REST API. Supports third parties, products, invoices, orders, proposals, stock movements, warehouses, projects, tasks, and more.

Installation

pip install cli-dolibarr

Or install from GitHub:

pip install git+https://github.com/zswll2/cli-dolibarr.git

Configuration

cli-dolibarr config init

Or set environment variables:

export DOLIBARR_URL="https://your-dolibarr.example.com/api/index.php"
export DOLIBARR_API_KEY="your_api_key"

Usage

Third Parties (Customers/Companies)

# List all third parties
cli-dolibarr thirdparties list

# Get a specific third party
cli-dolibarr thirdparties get 42

# Create a third party (required: name)
cli-dolibarr thirdparties create --name "Acme Corp"

# Update a third party
cli-dolibarr thirdparties update 42 --town "New York" --phone "+1234567890"

# Delete a third party
cli-dolibarr thirdparties delete 42

Products

# List products
cli-dolibarr products list

# Get a specific product
cli-dolibarr products get 7

# Create a product (required: ref, label)
cli-dolibarr products create --ref "PROD-001" --label "Widget A"

# Update a product
cli-dolibarr products update 7 --description "Updated description"

# Delete a product
cli-dolibarr products delete 7

Invoices

# List invoices
cli-dolibarr invoices list

# Get a specific invoice
cli-dolibarr invoices get 15

# Create an invoice (required: socid)
cli-dolibarr invoices create --socid 42

# Update an invoice
cli-dolibarr invoices update 15 --note "Payment pending"

# Delete an invoice
cli-dolibarr invoices delete 15

Orders

# List orders
cli-dolibarr orders list

# Get a specific order
cli-dolibarr orders get 23

# Create an order (required: socid, date)
cli-dolibarr orders create --socid 42 --date "2026-01-15"

# Update an order
cli-dolibarr orders update 23 --note "Expedited shipping"

# Delete an order
cli-dolibarr orders delete 23

Proposals

# List proposals
cli-dolibarr proposals list

# Get a specific proposal
cli-dolibarr proposals get 31

# Create a proposal (required: socid)
cli-dolibarr proposals create --socid 42

# Update a proposal
cli-dolibarr proposals update 31 --note "Revised terms"

# Delete a proposal
cli-dolibarr proposals delete 31

Stock Movements

# List stock movements
cli-dolibarr stockmovements list

# Stock in (type=3, positive qty)
cli-dolibarr stockmovements create --product-id 7 --warehouse-id 1 --qty 50

# Stock out (type=2, negative qty)
cli-dolibarr stockmovements create --product-id 7 --warehouse-id 1 --qty -10

Warehouses

# List warehouses
cli-dolibarr warehouses list

# Get a specific warehouse
cli-dolibarr warehouses get 1

# Create a warehouse (required: label)
cli-dolibarr warehouses create --label "Main Warehouse"

# Update a warehouse
cli-dolibarr warehouses update 1 --town "Shanghai"

# Delete a warehouse
cli-dolibarr warehouses delete 1

Projects

# List projects
cli-dolibarr projects list

# Get a specific project
cli-dolibarr projects get 5

# Create a project (required: title)
cli-dolibarr projects create --title "Website Redesign"

# Update a project
cli-dolibarr projects update 5 --description "Phase 2 started"

# Delete a project
cli-dolibarr projects delete 5

Tasks

# List tasks
cli-dolibarr tasks list

# Get a specific task
cli-dolibarr tasks get 12

# Create a task (requires project context)
cli-dolibarr tasks create --title "Design mockups" --project-id 5

# Update a task
cli-dolibarr tasks update 12 --progress 75

# Delete a task
cli-dolibarr tasks delete 12

Global Options

Option Description
--json Output in JSON format
--csv Output in CSV format
--url Override Dolibarr API URL
--api-key Override API key
--limit N Limit results to N items
--verify Enable SSL certificate verification
# Example: JSON output with limit
cli-dolibarr --json products list --limit 5

# Example: CSV output
cli-dolibarr invoices list --csv

# Example: Override URL and API key
cli-dolibarr thirdparties list --url "https://your-dolibarr.example.com/api/index.php" --api-key "your_api_key"

REPL Mode

Start an interactive session for repeated commands without re-authenticating:

cli-dolibarr repl

Inside the REPL, use commands directly:

dolibarr> thirdparties list
dolibarr> products get 7
dolibarr> exit

Environment Variables

Variable Description
DOLIBARR_URL Full API URL (e.g., https://your-dolibarr.example.com/api/index.php)
DOLIBARR_API_KEY API key from Dolibarr user settings
DOLIBARR_VERIFY_SSL Set to 1 or true to verify SSL

SQL Filters

Use the --sql-filter option to apply advanced filters on list commands:

# Filter by name pattern
cli-dolibarr thirdparties list --sql-filter "(t.name:like:'Acme%')"

# Filter by date range
cli-dolibarr invoices list --sql-filter "(t.datec:>=:'2026-01-01')"

# Combined filters
cli-dolibarr products list --sql-filter "(t.toselect:=:1) and (t.status:=:1)"

# IN operator
cli-dolibarr orders list --sql-filter "(t.status:IN:1,2,3)"

Operators: :=, :like:, :<, :>, :<=, :>=, :!=, :IN:, :NOTIN:

SSL Verification

By default, SSL verification is disabled (--no-verify) to support self-signed certificates common in self-hosted Dolibarr installations. To enable verification:

cli-dolibarr --verify thirdparties list

Or set the environment variable:

export DOLIBARR_VERIFY_SSL="true"

Schema Management

Built-in schema-driven API discovery system for keeping CLI commands in sync with Dolibarr API changes.

# Fetch latest API spec from Dolibarr
cli-dolibarr schema sync

# Check coverage (which endpoints have CLI commands)
cli-dolibarr schema diff

# Auto-generate CLI commands for uncovered endpoints
cli-dolibarr schema generate --all

# Preview without writing files
cli-dolibarr schema generate --all --dry-run

# Generate AI code map (AGENTS.md)
cli-dolibarr schema agents

# Export endpoint data for AI fine-tuning
cli-dolibarr schema export --format jsonl --output data.jsonl

Available Commands

49 command groups covering all Dolibarr REST API resources: thirdparties, products, invoices, orders, proposals, shipments, projects, tasks, warehouses, stockmovements, contacts, bankaccounts, categories, users, tickets, webhooks, and more. Run cli-dolibarr --help for the full list.


中文说明

Dolibarr ERP/CRM REST API 的命令行管理工具。支持客户、产品、发票、订单、报价、库存、仓库、项目、任务等 49 个模块。

安装

pip install cli-dolibarr

或从 GitHub 安装:

pip install git+https://github.com/zswll2/cli-dolibarr.git

配置

# 交互式配置(输入 URL 和 API Key)
cli-dolibarr config init

# 或使用环境变量
export DOLIBARR_URL="https://your-dolibarr.example.com/api/index.php"
export DOLIBARR_API_KEY="your_api_key"

常用命令

# 客户管理
cli-dolibarr thirdparties list                          # 列出所有客户
cli-dolibarr thirdparties get 42                        # 查看客户详情
cli-dolibarr thirdparties create --name "Acme Corp"     # 创建客户

# 产品管理
cli-dolibarr products list                              # 列出产品
cli-dolibarr products create --ref "P001" --label "产品A" # 创建产品

# 发票管理
cli-dolibarr invoices list                              # 列出发票
cli-dolibarr invoices create --socid 42                 # 创建发票

# 订单管理
cli-dolibarr orders list                                # 列出订单
cli-dolibarr orders create --socid 42 --date "2026-01-15" # 创建订单

# 库存管理
cli-dolibarr stockmovements create --product-id 7 --warehouse-id 1 --qty 50  # 入库
cli-dolibarr stockmovements create --product-id 7 --warehouse-id 1 --qty -10  # 出库

# 项目与任务
cli-dolibarr projects list                              # 列出项目
cli-dolibarr tasks list                                 # 列出任务

Schema 管理系统

内置 API 自动发现系统,Dolibarr 升级后可自动同步新端点:

cli-dolibarr schema sync           # 从 Dolibarr 拉取最新 API 定义
cli-dolibarr schema diff           # 查看覆盖情况(哪些有命令、哪些没有)
cli-dolibarr schema generate --all # 自动生成缺失的 CLI 命令
cli-dolibarr schema agents         # 生成 AI 代码地图 (AGENTS.md)
cli-dolibarr schema export --format jsonl --output data.jsonl  # 导出微调数据

输出格式

cli-dolibarr --json products list   # JSON 格式
cli-dolibarr --csv invoices list    # CSV 格式(可导入 Excel)

全局选项

选项 说明
--json JSON 格式输出
--csv CSV 格式输出
--url 覆盖 API URL
--api-key 覆盖 API Key
--limit N 限制返回条数
--verify 启用 SSL 证书验证

交互模式

cli-dolibarr repl
# 进入后可直接输入命令:
# doli> thirdparties list
# doli> products get 7
# doli> exit

SQL 过滤器

cli-dolibarr thirdparties list --sql-filter "(t.name:like:'Acme%')"   # 按名称筛选
cli-dolibarr invoices list --sql-filter "(t.datec:>=:'2026-01-01')"   # 按日期筛选

支持的操作符::=, :like:, :<, :>, :<=, :>=, :!=, :IN:, :NOTIN:

Release files for cli-dolibarr 3.31.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cli-dolibarr 3.31.10
File Size Uploaded
cli_dolibarr-3.31.10.tar.gz 360.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cli-dolibarr 3.31.10
File Interpreter ABI Platform
cli_dolibarr-3.31.10-py3-none-any.whl Python 3 none any Details

Total release size: 811.2 kB

Release files / cli_dolibarr-3.31.10.tar.gz

Download URL cli_dolibarr-3.31.10.tar.gz
Size 360.1 kB
Tags Source
SHA-256 checksum
How to use checksums
fb8d80d023d0f1da15230b530dc67ca0f161fd802203e1d2dfe003d14de328b2
BLAKE2b-256 checksum
How to use checksums
ae874c8e5b205ecc854e5fc041d761f10f8175a6212554291b39f5e18cdfd33a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / cli_dolibarr-3.31.10-py3-none-any.whl

Download URL cli_dolibarr-3.31.10-py3-none-any.whl
Size 451.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b919b8be1f81a90e6f4a5099f68e81dda2f75ce28038011b5771d6df5a0e519
BLAKE2b-256 checksum
How to use checksums
df75acf92e70b4fdad5f36142ff424bf7fb4f82e7962016dd21afdb5c08c389c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release history Release notifications | RSS feed

3.32.9

2 release files

3.32.8

2 release files

3.32.7

2 release files

3.32.6

2 release files

3.32.5

2 release files

3.32.4

2 release files

3.32.3

2 release files

3.32.2

2 release files

3.32.1

2 release files

3.32.0

1 release file

This release

3.31.10 This release

2 release files

3.31.9

2 release files

3.31.8

2 release files

3.31.7

2 release files

3.31.6

2 release files

3.31.5

2 release files

3.31.4

2 release files

3.31.3

1 release file

3.31.2

1 release file

3.31.1

1 release file

3.31.0

1 release file

3.30.0

1 release file

3.29.0

1 release file

3.28.0

1 release file

3.27.0

1 release file

3.26.3

1 release file

3.26.2

1 release file

3.26.1

2 release files

3.26.0

1 release file

3.25.0

1 release file

3.24.2

1 release file

3.24.1

1 release file

3.24.0

1 release file

3.23.0

1 release file

3.22.0

1 release file

3.21.0

1 release file

3.20.0

1 release file

3.19.0

1 release file

3.18.2

1 release file

3.18.1

1 release file

3.18.0

1 release file

3.17.1

1 release file

3.17.0

1 release file

3.16.0

1 release file

3.15.0

1 release file

3.14.0

1 release file

3.13.0

1 release file

3.12.1

1 release file

3.12.0

1 release file

3.11.2

1 release file

3.11.1

1 release file

3.11.0

1 release file

3.10.1

1 release file

3.10.0

1 release file

3.9.0

1 release file

3.8.20

1 release file

3.8.19

1 release file

3.8.18

1 release file

3.8.17

1 release file

3.8.16

1 release file

3.8.15

1 release file

3.8.14

1 release file

3.8.13

1 release file

3.8.12

1 release file

3.8.11

1 release file

3.8.10

1 release file

3.8.9

1 release file

3.8.8

1 release file

3.8.7

1 release file

3.8.6

2 release files

3.8.5

2 release files

3.8.4

2 release files

3.8.3

2 release files

3.8.2

2 release files

3.8.1

2 release files

3.8.0

2 release files

3.7.5

2 release files

3.7.4

2 release files

3.7.3

2 release files

3.7.2

2 release files

3.7.1

2 release files

3.7.0

2 release files

3.6.0

2 release files

3.5.0

2 release files

3.4.0

2 release files

3.3.1

2 release files

3.3.0

2 release files

3.2.1

2 release files

3.2.0

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.3

2 release files

3.0.2

2 release files

3.0.1

2 release files

3.0.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page