Professional pack for automating sales quotes with an AI agent. Designed for tradespeople, freelancers, SMBs and entrepreneurs who want to generate compliant quotes and PDF flyers in seconds.
Table of contents
- Architecture
- Quick Start
- BYO-LLM — bring your own AI
- Pack structure
- Quote workflow
- SMB connectors
- License
Architecture
The pack is built on an OODA loop specific to the quoting & invoicing domain:
┌─────────────────────────────────────────────────────────────┐
│ AGENT DEVIS v2.0 │
├─────────────────────────────────────────────────────────────┤
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │RECEIVING │───→│ENRICHING │───→│ PRICING │ │
│ └──────────┘ └──────────┘ └────┬─────┘ │
│ ▲ │ │
│ │ ▼ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ARCHIVING │←───│ SENDING │←───│ REVIEWING│ │
│ └──────────┘ └──────────┘ └──────────┘ │
│ ▲ │
│ └────────────────────────────────────────┐ │
│ ▼ │
│ ┌──────────┐ │
│ │FORMATTING│ │
│ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ MODULES: Brief Parser │ Product Enricher │ Price Engine │
│ PDF Generator │ Flyer Builder │ Connector Hub │ DB Core │
└─────────────────────────────────────────────────────────────┘
Internal modules
| Module | Role |
|---|---|
| Brief Parser | Extracts customer requirements from free text or a form |
| Product Enricher | Automatic lookup of photos, descriptions and catalog prices |
| Price Engine | Computes pre-tax/VAT/incl.-tax totals, discounts, shipping costs, rounding |
| PDF Generator | Generates the quote PDF in compliance with French standards |
| Flyer Builder | Creates the 1-2 page A4 flyer with photos and prices |
| Connector Hub | Interface with management software (Sage, QuickBooks, etc.) |
| DB Core | SQLite persistence of customers, products, quotes and history |
Quick Start
Turnkey deployment in one command on a Debian/Ubuntu VM:
# 1. Install (system deps + venv + LLM detection + systemd service)
cd agent-devis-v2/
sudo bash install.sh # or: bash install.sh --no-service
# 2. Verify the installation offline (deterministic, no API key)
bash smoke_test.sh
# 3. Run a quote from a free-text brief
python3 agent.py run --brief "Rénovation salle de bain 12m2, carrelage mural blanc, douche italienne pour Dupont"
# 4. (optional) JSON output for integration / connector
python3 agent.py run --brief "Peinture 30m2 pour Martin" --json
End-to-end demo with nothing to configure:
python3 EXAMPLE.py
BYO-LLM — bring your own AI
The agent's core (brief parsing, pre-tax/VAT/incl.-tax calculation, SQLite archiving) is
deterministic and runs without an API key. If you have a connected coding-agent
CLI (Claude Code / Kimi Code / Codex), the enrichment and
review steps are driven by your subscription via llm_adapter.py — no API key,
no billing by this pack. Auto-detection, or force it with PACK_LLM=claude|kimi|codex.
| Capability | Without LLM (deterministic) | With LLM (BYO) |
|---|---|---|
| Brief parsing | keyword + quantity heuristics | fine-grained natural-language understanding |
| Line enrichment | built-in catalog + fallback | contextual descriptions + estimates |
| Pre-tax/VAT/incl.-tax calculation | exact, per line | identical (always deterministic) |
| Consistency review | arithmetic checks | + detection of business inconsistencies |
| Works without an API key | ✅ | ✅ (your CLI, no key) |
Honest promise: the agent is useful without an LLM, and smarter with one.
Pack structure
agent-devis-v2/
├── README.md ← this file
├── SOUL.md ← quote-specific OODA states
├── PROMPTS.md ← 5 named prompts (loaded by agent.py)
├── CHECKLIST.md ← 30+ deployment steps with snippets
├── SPEC.md ← technical spec (DB, VAT, PDF)
├── CHANGELOG.md ← version history
├── CUSTOMIZE.md ← where to plug in your catalog & rates (5 min)
├── SUCCESS_METRICS.md ← quantified KPIs + failure definition
├── OPERATING_COST_ESTIMATE.md ← operating costs (provider-agnostic)
├── agent.py ← executable agent (OODA, SQLite, BYO-LLM)
├── llm_adapter.py ← BYO-LLM adapter (claude/kimi-code/codex, no key)
├── EXAMPLE.py ← end-to-end demo (no API key)
├── install.sh ← one-shot Debian installer (deps+venv+systemd)
├── agent-devis-v2.service ← reference systemd unit
├── test_agent.py ← deterministic offline test suite
├── smoke_test.sh ← offline test launcher
├── requirements.txt ← dependencies (stdlib only)
├── agent-devis-v2.json ← manifest (metadata, files, KPIs)
├── scripts/ ← helpers (config.yaml, run_agent.py, test_prompt.py, init_db.sql)
└── templates/ ← quote & flyer templates (yaml) + examples
Quote workflow
- The user or the agent fills in a brief (free text or structured JSON)
- The agent parses the brief and identifies the products/services
- The agent enriches each line: photo lookup, detailed description, unit price
- The agent calculates the pre-tax totals, applies VAT and any discounts
- The agent formats the compliant quote PDF (legal notices, SIRET, validity date)
- The agent generates the A4 PDF flyer (1 page, or 2 pages as a brochure) with product visuals
- The agent archives the quote in the SQLite database and offers sending by email / SMB connector
SMB connectors
The pack detects and interfaces with:
- Sage ( CSV export / Sage Business Cloud API )
- QuickBooks ( REST API v3 )
- EBP ( CSV export / ODBC connector )
- Pennylane ( public API )
- Holded ( API v1 )
- Wave ( GraphQL API )
- Zoho Books ( REST API )
If no software is detected, the agent uses the built-in SQLite database and exports to CSV/XLSX.
License
Personal use per purchase — resale prohibited. 3 USD / agent.
Agent-to-agent payment supported (x402 / USDC on Base) — see the manifest
agent-devis-v2.json. No dependency on an API key: your own CLI subscription
(Claude Code / Kimi Code / Codex) is the only AI billing relationship.