{"adoption": {"forks": 869, "observed_at": "2026-08-28T04:07:44.337478+00:00", "stars": 3123}, "canonical_url": "https://ross.abutalabs.com/products/invoiceplane", "card": {"archived": false, "artifact_type": "application", "description": "A self-hosted open source application for managing your invoices, clients and payments.", "domain": ["fintech", "self-hosted", "web-development", "developer-tools", "e-commerce"], "enriched": true, "function": ["self-hosted", "pdf", "email", "internationalization"], "health_score": 99, "homepage": "https://www.invoiceplane.com", "language": "PHP", "license": "NOASSERTION", "license_family": "other", "maturity": "active", "member_repos": ["InvoicePlane/InvoicePlane"], "name": "InvoicePlane/InvoicePlane", "platform": ["php", "self-hosted", "cross-platform"], "pushed_at": "2026-08-23T17:11:20+00:00", "repo": "InvoicePlane/InvoicePlane", "stars": 3123, "tags": ["invoicing", "quotes", "payments", "freelancers", "small-business", "e-invoicing", "codeigniter", "stripe", "paypal", "billing", "crm", "web-server", "docker"], "topics": ["php", "invoices", "invoicing", "open-source", "crm", "billing", "invoiceplane", "codeigniter"], "urls": [], "use_cases": ["self-hosted invoicing for freelancers", "manage clients and quotes in one place", "track invoice payments and send reminders", "accept online payments via PayPal or Stripe", "generate EU-compliant e-invoices", "create recurring invoices for regular clients", "customize invoice PDF and email templates", "replace expensive invoicing software with a free alternative"], "what_it_is": "InvoicePlane is a free, self-hosted web application for managing quotes, invoices, clients, and payments, built in PHP on CodeIgniter. It targets freelancers and small businesses, offering client CRM, online payment gateways, customizable templates, reporting, and EU-compliant e-invoicing.", "when_to_avoid": ["you need a fully hosted SaaS with no server maintenance", "you require advanced accounting features like double-entry bookkeeping or payroll", "you need deep ERP integration or multi-entity enterprise billing", "your team requires a modern SPA-style UI rather than a classic PHP web app"], "when_to_choose": ["you want full control by hosting invoicing on your own server", "you are a freelancer or small business needing simple billing without subscription fees", "you need quotes, invoices, payments, and basic CRM in one lightweight tool", "you must produce EU-standard e-invoices", "you want a customizable, multilingual invoicing app"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/invoiceplane", "repo": "InvoicePlane/InvoicePlane", "role": "main", "score": 99}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:44.337478+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:26:32.651049+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a3be0e66a3d113804d307b6182afb59f8912697ece1606ccac214dd30d460b35", "fetched_at": "2026-08-28T04:07:44.337478+00:00", "kind": "readme", "missing": false, "url": "https://github.com/InvoicePlane/InvoicePlane"}, {"content_hash": "9b3a82646696b1e24c60d61c06413fec438058394578044ad3c9477fe19ccf85", "fetched_at": "2026-08-29T09:41:28.434214+00:00", "kind": "homepage", "missing": false, "url": "https://www.invoiceplane.com"}, {"content_hash": "42bff615c2f4ec7b8a339f37e06852895400fdce184a1a75e64b21a382c1036f", "fetched_at": "2026-08-29T09:41:28.436959+00:00", "kind": "site_page", "missing": false, "url": "https://www.invoiceplane.com/about"}, {"content_hash": "86876bafa83a824ccab7a484d771087e6eaca4935defad120b4873b6a01df3ff", "fetched_at": "2026-08-29T09:41:28.439036+00:00", "kind": "site_page", "missing": false, "url": "https://wiki.invoiceplane.com/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 98}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4487, "days_push": 10, "days_rel": 16, "gap_med": 27, "n_releases_24m": 8}, "score": 99, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}