Skip to content

Filldoc bridges the gap between your CRM and your documents.

License

Notifications You must be signed in to change notification settings

thomasorgeval/filldoc

Repository files navigation

Filldoc

Generate professional PDFs from your CRM data in one click.

Filldoc bridges the gap between your CRM (HubSpot, Pipedrive) and your documents. Upload DOCX templates, map variables to your CRM fields, and generate perfect contracts, invoices, and quotes instantly.

Filldoc Screenshot

Features

  • 🔌 CRM Integration: Connect HubSpot (Pipedrive coming soon) to access your contacts, companies, and deals.
  • 📄 DOCX Templates: Use standard Word documents as templates. No complex drag-and-drop editor to learn.
  • 🎯 Smart Mapping: Automatically detects {{variables}} in your templates and lets you map them to CRM fields.
  • 🚀 One-Click Generation: Generate high-fidelity PDFs that respect your template's layout, fonts, and styling.
  • 🔒 Secure & Private: Self-hostable, open-source, and privacy-focused.

Tech Stack

  • Framework: Next.js 15 (App Router)
  • Language: TypeScript
  • Database: PostgreSQL + Drizzle ORM
  • Auth: Better Auth (with Organization plugin)
  • Queue: BullMQ + Redis
  • PDF Engine: Gotenberg + docx-templates
  • Storage: S3-compatible (Cloudflare R2)
  • UI: Tailwind CSS + shadcn/ui

Getting Started

Prerequisites

  • Node.js 24+
  • Docker & Docker Compose
  • A HubSpot Developer account (for OAuth)
  • Cloudflare R2 bucket (or any S3 compatible storage)

Installation

  1. Clone the repository
git clone git@github.com:thomasorgeval/filldoc.git
cd filldoc
  1. Setup environment variables
cp .env.example .env

Edit .env with your configuration:

  • DATABASE_URL: PostgreSQL connection string
  • REDIS_URL: Redis connection string
  • HUBSPOT_CLIENT_ID & HUBSPOT_CLIENT_SECRET: Your HubSpot App credentials
  • R2_*: Cloudflare R2 credentials
  1. Start services (DB, Redis, Gotenberg)
docker compose up -d
  1. Install dependencies
pnpm install
  1. Initialize database
pnpm db:migrate
  1. Start development server
pnpm dev

Visit http://localhost:3000 to start using Filldoc.

Deployment

Filldoc is designed to be deployed using Docker.

docker build -t filldoc .

See docker-compose.yml for a complete production setup example.

License

MIT License. See LICENSE for details.

Credits

Built with ❤️ by Thomas Orgeval. Powered by Gotenberg and docx-templates.

About

Filldoc bridges the gap between your CRM and your documents.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages