# CLAUDE.md ## Business rules — Order - KHÔNG được cancel order đã ở trạng thái `shipped` hoặc `delivered`. Phải kiểm tra `order.status` trước; nếu đã shipped thì throw lỗi. - Refund (hoàn tiền) xử lý async qua queue, không inline trong hàm cancel. ## Conventions - Format tiền tệ: LUÔN dùng `formatCurrency()` ở `src/lib/format.js`. KHÔNG tự viết hàm format tiền mới. - Số tiền lưu dưới dạng VND nguyên (integer).