{"id":48860443,"url":"https://github.com/montte-erp/montte-nx","last_synced_at":"2026-04-15T15:00:57.318Z","repository":{"id":321996075,"uuid":"1087863572","full_name":"Montte-erp/montte-nx","owner":"Montte-erp","description":"Open source erp","archived":false,"fork":false,"pushed_at":"2026-04-13T16:05:55.000Z","size":21697,"stargazers_count":5,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-13T16:08:03.243Z","etag":null,"topics":["better-auth","bun","business-finance","drizzle-orm","elysiajs","finance","finance-tracker","fullstack","monorepo","nx","ofx","open-source","personal-finance","postgresql","react","shadcn-ui","tailwindcss","tanstack-router","trpc","typescript"],"latest_commit_sha":null,"homepage":"https://montte.co","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Montte-erp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-11-01T19:54:33.000Z","updated_at":"2026-04-13T14:24:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"5a9b4437-6d23-4c47-8cd0-26470c963d61","html_url":"https://github.com/Montte-erp/montte-nx","commit_stats":null,"previous_names":["f-o-t/finance-nx","f-o-t/montte-nx","montte-erp/montte-nx"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/Montte-erp/montte-nx","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Montte-erp%2Fmontte-nx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Montte-erp%2Fmontte-nx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Montte-erp%2Fmontte-nx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Montte-erp%2Fmontte-nx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Montte-erp","download_url":"https://codeload.github.com/Montte-erp/montte-nx/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Montte-erp%2Fmontte-nx/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31846423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["better-auth","bun","business-finance","drizzle-orm","elysiajs","finance","finance-tracker","fullstack","monorepo","nx","ofx","open-source","personal-finance","postgresql","react","shadcn-ui","tailwindcss","tanstack-router","trpc","typescript"],"created_at":"2026-04-15T15:00:55.960Z","updated_at":"2026-04-15T15:00:57.310Z","avatar_url":"https://github.com/Montte-erp.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Montte\n\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](CONTRIBUTING.md)\n\n**Montte** is an AI-first ERP built to solve the financial management pain points of SaaS companies and coworking spaces. It combines traditional financial controls — bank accounts, transactions, bills, credit cards, budgets — with AI-powered analytics and an intelligent assistant (Rubi) that helps you understand your finances through natural language.\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- [Bun](https://bun.sh/) ≥ 1.0\n- [Docker](https://docs.docker.com/get-docker/) or [Podman](https://podman.io/) with Compose\n\n### Setup\n\n```bash\ngit clone https://github.com/Montte-erp/montte-nx.git\ncd montte-nx\nbun install\nbun dev\n```\n\n`bun dev` handles everything on first run — creates `apps/web/.env.local`, starts containers, pushes the DB schema, seeds the event catalog, and starts the app at `http://localhost:3000`.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for staging setup and all available commands.\n\n---\n\n## Key Features\n\n### Financial Management\n\n- **Bank Accounts**: Connect and manage multiple bank accounts in one place\n- **Transactions**: Import, categorize, and track all financial transactions with bulk operations and smart filters\n- **Bills (Contas a Pagar)**: Manage payables, create bills from transactions, and track due dates\n- **Credit Cards**: Track credit card spending and statements\n- **Categories \u0026 Tags**: Organize finances with custom categories, subcategories, and cost centers (centros de custo)\n- **Contacts**: Manage suppliers, clients, and service providers\n\n### Budget \u0026 Goals\n\n- **Budget Goals**: Set spending limits by category and track progress in real-time\n- **Budget Alerts**: Automated notifications when spending approaches or exceeds thresholds (powered by durable background workflows)\n\n### Services \u0026 Inventory\n\n- **Services**: Manage recurring and one-time services with analytics\n- **Inventory**: Basic inventory tracking\n\n### Analytics \u0026 Dashboards\n\n- **Custom Dashboards**: Build dashboards with flexible insight tiles\n- **Analytics Engine**: Breakdown and trend analysis across financial data\n- **Event Catalog**: Track and analyze platform events with property definitions\n- **Data Management**: Define and manage event definitions and properties\n\n### AI Assistant (Rubi)\n\n- **Chat Interface**: Natural language financial assistant accessible from any screen\n- **Agent Network**: Multi-agent system powered by Mastra for intelligent routing and specialized tasks\n- **Context-Aware**: Understands your financial data and provides relevant insights\n\n### Integrations \u0026 Webhooks\n\n- **Webhooks**: Configure outgoing webhooks for real-time event notifications\n- **API Keys**: Programmatic access for external integrations\n\n### Team Collaboration\n\n- **Multi-tenant Organizations**: Isolated workspaces for each company\n- **Teams**: Create teams within organizations with scoped access\n- **Role-Based Access**: Owner, Admin, and Member roles with granular permissions\n- **Invitations**: Invite members via email with pending invitation management\n\n### Billing\n\nUsage-based billing powered by Stripe meter events. Each billable event (AI chat, transactions, webhooks, etc.) has a free tier — usage above the free tier is metered and billed automatically. Optional addon subscriptions (Boost, Scale, Enterprise) unlock additional features.\n\n### Security \u0026 Authentication\n\n- Email/password, Google OAuth, Magic Link, Email OTP\n- Two-factor authentication (2FA)\n- Session management with device tracking\n- Rate limiting and bot detection via Arcjet\n\n---\n\n## Tech Stack\n\nBuilt as an **Nx** monorepo with **Bun**.\n\n| Category      | Technology                                                                           |\n| :------------ | :----------------------------------------------------------------------------------- |\n| **Frontend**  | React 19, TanStack Start (SSR), TanStack Router, TanStack Query, shadcn/ui, Tailwind CSS, TypeScript |\n| **AI**        | Mastra (Agent orchestration)                                                         |\n| **Backend**   | oRPC (type-safe API), DBOS (durable workflows), Drizzle ORM, PostgreSQL              |\n| **Auth**      | Better Auth                                                                          |\n| **Jobs**      | DBOS (durable workflows, cron, retries), Redis (rate limiting, credit counters)      |\n| **Storage**   | MinIO (S3-compatible)                                                                |\n| **Security**  | Arcjet (Rate limiting \u0026 bot detection)                                               |\n| **Analytics** | PostHog                                                                              |\n| **Email**     | Resend (React Email templates)                                                       |\n| **Payments**  | Stripe                                                                               |\n| **Tooling**   | Nx, oxlint, oxfmt                                                                    |\n\n---\n\n## Project Structure\n\n```\nmontte-nx/\n├── apps/\n│   └── web/             # TanStack Start (SSR) — dashboard + oRPC routers + DBOS workflows\n├── core/\n│   ├── database/        # Drizzle ORM schemas \u0026 repositories\n│   ├── agents/          # AI agents\n│   ├── authentication/  # Better Auth setup\n│   ├── environment/     # Zod-validated env vars\n│   ├── redis/           # Redis singleton\n│   ├── logging/         # Pino logger + error classes\n│   ├── files/           # MinIO file storage\n│   ├── posthog/         # PostHog server/client + config\n│   ├── stripe/          # Stripe singleton\n│   ├── transactional/   # Resend + email templates\n│   └── utils/           # Shared utilities\n├── packages/\n│   ├── analytics/       # Analytics engine\n│   ├── events/          # Event catalog, schemas, credits\n│   └── ui/              # Radix + Tailwind component library\n├── libraries/\n│   ├── cli/             # @montte/cli — TanStack Intent skills + CLI tooling\n│   └── hyprpay/         # @montte/hyprpay — HyprPay SDK\n└── tooling/\n    ├── oxc/             # oxlint + oxfmt configs\n    └── typescript/      # Shared TypeScript configs\n```\n\n---\n\n## Contributing\n\nContributions are welcome. Please read our [CONTRIBUTING.md](CONTRIBUTING.md) for details on our code of conduct and the process for submitting pull requests.\n\n## License\n\nThis project is licensed under the Apache-2.0 License. See the [LICENSE.md](LICENSE.md) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmontte-erp%2Fmontte-nx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmontte-erp%2Fmontte-nx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmontte-erp%2Fmontte-nx/lists"}