A modern, automated bookkeeping platform built for small to medium businesses. Combines accounting expertise with cutting-edge technology to deliver professional bookkeeping services.
- Automated Transaction Processing: Bank feed integration with automatic categorization
- QuickBooks Integration: Seamless sync with QuickBooks Online
- Client Portal: Secure dashboard for document uploads and financial reports
- Real-time Reporting: Automated P&L, Balance Sheet, and Cash Flow reports
- Document Management: OCR processing and secure file storage
- Multi-client Support: Manage multiple clients from one platform
- Bank Reconciliation: Automated matching and reconciliation
- Transaction Categorization: AI-powered expense categorization
- Report Generation: Automated monthly financial reports
- Invoice Processing: Automated invoice creation and tracking
- Receipt Processing: OCR extraction from receipts and invoices
- Node.js with Express.js
- PostgreSQL database with Sequelize ORM
- JWT authentication
- AWS S3 for document storage
- Redis for job queues
- QuickBooks Online API integration
- Plaid API for bank connections
- Next.js with React
- Tailwind CSS for styling
- React Query for data fetching
- React Hook Form for forms
- Recharts for data visualization
- Node.js 18+
- PostgreSQL 12+
- Redis (optional, for job queues)
- AWS S3 bucket (for document storage)
- QuickBooks Developer Account
- Plaid Developer Account (for bank connections)
-
Clone and setup:
git clone <your-repo> cd bookkeep ./setup.sh
-
Configure environment:
cp env.example .env # Edit .env with your actual values -
Create database:
CREATE DATABASE precision_bookkeeping;
-
Start development:
./start-all.sh
-
Access the application:
- Marketing Website (Main): http://localhost:3000
- Client Portal: http://localhost:3001
- Backend API: http://localhost:3002
Copy env.example to .env and configure:
# Database
DB_HOST=localhost
DB_PORT=5432
DB_NAME=precision_bookkeeping
DB_USER=your_db_user
DB_PASSWORD=your_db_password
# JWT
JWT_SECRET=your_super_secret_jwt_key_here
# AWS S3
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_S3_BUCKET=precision-bookkeeping-documents
# QuickBooks
QB_CLIENT_ID=your_quickbooks_client_id
QB_CLIENT_SECRET=your_quickbooks_client_secret
# Plaid (Bank Connections)
PLAID_CLIENT_ID=your_plaid_client_id
PLAID_SECRET=your_plaid_secretbookkeep/
βββ server/ # Backend API
β βββ config/ # Database configuration
β βββ middleware/ # Auth, error handling
β βββ models/ # Database models
β βββ routes/ # API routes
β βββ services/ # Business logic
β βββ index.js # Server entry point
βββ client/ # Frontend React app
β βββ components/ # React components
β βββ contexts/ # React contexts
β βββ pages/ # Next.js pages
β βββ services/ # API services
β βββ styles/ # CSS styles
βββ main.html # Marketing website
βββ marketing-server.js # Marketing website server
βββ README.md
POST /api/auth/login- User loginPOST /api/auth/register- User registrationGET /api/auth/me- Get current user
GET /api/clients- List all clientsPOST /api/clients- Create new clientGET /api/clients/:id- Get client detailsPUT /api/clients/:id- Update client
GET /api/quickbooks/auth-url- Get OAuth URLPOST /api/quickbooks/callback- Handle OAuth callbackPOST /api/quickbooks/sync-transactions/:clientId- Sync transactions
POST /api/reports/profit-loss/:clientId- Generate P&L reportPOST /api/reports/balance-sheet/:clientId- Generate Balance SheetPOST /api/reports/cash-flow/:clientId- Generate Cash Flow report
POST /api/documents/:clientId/upload- Upload documentGET /api/documents/:clientId- List client documentsGET /api/documents/:clientId/:id/download- Download document
- Database: Set up PostgreSQL on your server
- Environment: Configure production environment variables
- Build:
npm run build - Start:
npm start
# Dockerfile example
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build
EXPOSE 3001
CMD ["npm", "start"]- JWT-based authentication
- Role-based access control
- Rate limiting
- Input validation
- SQL injection prevention
- XSS protection
- Secure file uploads
- Encrypted document storage
- Winston logging system
- Error tracking
- Performance monitoring
- Health check endpoints
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
MIT License - see LICENSE file for details
For support, email: contact@precisionbookkeeping.com
Built with β€οΈ for modern bookkeeping