---
name: invoice-ninja
description: Self-host Invoice Ninja — phần mềm tạo + theo dõi hoá đơn + nhắc thanh toán 3-tier tự động. Cho SME chưa dùng Misa/Fast.
---

# Skill: Invoice Ninja — Theo dõi hoá đơn + nhắc thanh toán

## Skill này làm gì

Cài Invoice Ninja (open-source, Laravel/PHP) bằng Docker trên VPS hoặc máy local. Bạn có 1 phần mềm tự host để xuất hoá đơn PDF brand riêng, gửi cho khách qua link, theo dõi ai đã xem/đã trả, và auto-nhắc 3 lần khi quá hạn (vd: ngày +3, +7, +14).

## Khi nào dùng

- SME chưa dùng Misa/Fast (mới start hoặc agency 1-3 người, freelancer, consultant)
- Cần auto-reminder hoá đơn quá hạn không phải nhắn tay từng khách
- Muốn brand hoá đơn riêng (logo, màu, footer) thay template Misa cứng
- Khách quốc tế (Invoice Ninja support 50+ tiền tệ)
- Cần dashboard xem doanh thu tháng/quý
- Track time + bill theo giờ (agency tính phí theo dự án)

## ⚠️ Cảnh báo cho doanh nghiệp Việt Nam đã trên Misa/Fast

Nếu bạn đã dùng Misa/Fast → Invoice Ninja là duplicate. Misa/Fast đã đủ tính năng + đã tích hợp thuế GTGT VN (eInvoice cơ quan thuế). **Invoice Ninja KHÔNG hỗ trợ chuẩn hoá đơn điện tử VN.**

Khuyến nghị: **Dùng skill mẫu #2 "Theo dõi đơn hàng" của Eroca tốt hơn** — đọc Sheet Misa export, draft Zalo/email nhắc khách bằng giọng bạn, không setup app riêng, không trùng dữ liệu.

Invoice Ninja chỉ hợp khi: (a) xuất khẩu B2B quốc tế, (b) freelancer/agency chưa đăng ký hộ KD, (c) startup pre-revenue chưa cần kế toán chính thức.

## Cách cài (Docker, 10 phút)

```bash
mkdir ~/invoice-ninja && cd ~/invoice-ninja
curl -O https://raw.githubusercontent.com/invoiceninja/dockerfiles/master/docker-compose.yml
curl -O https://raw.githubusercontent.com/invoiceninja/dockerfiles/master/env.example

mv env.example .env
# Sửa file .env:
# - APP_KEY=`openssl rand -base64 32`
# - DB_PASSWORD=<paste_strong_password_here>
# - APP_URL=https://invoice.yourdomain.com

docker compose up -d
docker compose exec app php artisan migrate --seed --force

# Mở http://localhost → setup admin
```

Production: Nginx + Let's Encrypt SSL trước.

## Câu lệnh chủ đạo

```
Tôi vừa cài Invoice Ninja local. Giúp tôi setup hoá đơn đầu tiên:

THÔNG TIN CÔNG TY:
- Tên: [Tên công ty]
- MST: [mã số thuế nếu có]
- Logo: [đường dẫn file logo]
- Tiền tệ mặc định: VND (hoặc USD nếu khách quốc tế)

KHÁCH ĐẦU TIÊN:
- Tên khách: [tên]
- Email: [email]
- Số tiền: [VND]
- Dịch vụ: [mô tả 1 dòng]
- Hạn thanh toán: 7 ngày

YÊU CẦU:
1. Hướng dẫn click từng bước trên UI tạo client + invoice + gửi email
2. Bật auto-reminder 3 tier: +3 (nhắc nhẹ), +7 (nhắc khẩn), +14 (gọi điện tay)
3. Viết template email cho 3 reminder bằng Việt giọng "bạn" thân thiện
4. Setup webhook khi khách trả → Slack/Zalo nhận thông báo
```

## Quyền hạn cần thiết

- Docker + Docker Compose (Mac/Linux native, Windows qua WSL2)
- VPS production (~5 USD/tháng) HOẶC máy local nội bộ
- Tên miền + SSL nếu khách click link xem invoice
- SMTP account (Resend/SendGrid/Gmail SMTP)
- 2-4GB RAM VPS
- 10GB storage cho DB + PDF cache

## Mẹo dùng hiệu quả

1. **Format invoice ID rõ ràng theo tháng** — `INV-2026-05-001` thay default `0001`
2. **Auto-reminder ngày +3 / +7 / +14 (KHÔNG +1)** — +1 = annoying, khách bực
3. **Backup database mỗi tuần** — `docker compose exec db mysqldump` + rsync Backblaze B2

---

**Tác giả:** Eroca Thanh · 2026-05-28
