Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Invoice Ninja

Invoice Ninja Laravel Package

hillelcoren/invoice-ninja

Invoice Ninja is an open-source invoicing, billing, and payments platform built on Laravel, with invoices, quotes, recurring billing, expenses, time tracking, projects, a client portal, and dozens of payment gateway integrations.

View on GitHub
Deep Wiki
Context7

Invoice Ninja is a self-hosted, open-source platform for invoicing, billing, and time tracking, built on Laravel. This package delivers the application backend—REST APIs, models, and business logic—powering the official web, desktop, and mobile clients. It's well suited to freelancers and small businesses that want full ownership of their billing data.

  • Create and email invoices, quotes, and recurring bills with PDF generation
  • Track expenses, tasks, and projects with billable time
  • Manage clients, payments, and gateways like Stripe and PayPal
  • Supports multi-currency, multi-company, and multi-language setups
  • Extend workflows via REST API and webhooks
Frequently asked questions about Invoice Ninja
Is Invoice Ninja a Composer package I can require into my existing Laravel app?
No. Invoice Ninja is a full self-hosted Laravel application for invoicing and billing, not a drop-in Composer library. You should treat it as an adjacent billing service that your Laravel app integrates with over HTTP using its REST API and webhooks. Composer requiring it into an existing application is not the intended integration model.
How do I integrate Invoice Ninja with an existing Laravel application?
Authenticate with an API token and drive clients, invoices, payments, quotes, and related resources through the REST API. Expect to build a mapping layer between your application's customer IDs and Invoice Ninja client IDs. Consume webhooks for state changes and implement idempotency so repeated deliveries do not duplicate work.
What Laravel and PHP versions does Invoice Ninja support?
Invoice Ninja is built on Laravel and PHP, but the exact supported PHP and Laravel versions depend on the specific release line. Version 5.13.49 is a patch release in the mature 5.13 line. Always verify the requirements in the repository's composer.json and release documentation before upgrading.
Does Invoice Ninja support recurring billing and subscriptions?
Yes. Invoice Ninja includes recurring billing alongside invoices, quotes, clients, payments, expenses, projects, and time tracking. It is designed for freelancers and small businesses that need ongoing billing without building those features themselves. Recurring billing behavior should still be validated against your specific invoicing cadence and tax requirements.
Which payment gateways does Invoice Ninja support?
Invoice Ninja provides payment gateway abstraction and supports Stripe plus other gateways. In version 5.13.49, the Stripe API floor was raised to 2025.basil, which can affect webhook payload shapes and integration assertions. Confirm the currently supported gateway list and Stripe API expectations for your release before going live.
How do Invoice Ninja webhooks work and what should I watch for?
Webhooks notify your application when resources such as invoices or payments change state. Treat deliveries as at-least-once and implement idempotency keys or deduplication on your side. Watch for payload drift, especially after gateway or Stripe API changes, and avoid hard-coding assumptions about field names and error codes.
Can Invoice Ninja handle tax reporting and compliance needs?
Invoice Ninja includes tax reporting, and version 5.13.49 fixed a TaxPeriodReport transaction-event query that could have produced incorrect or missing data. If you have already exported or filed reports from affected versions, re-run and diff prior periods. French reporting tests were skipped in this release, so verify French e-invoicing or reporting output separately if it applies to you.
Is Invoice Ninja a good fit for embedding billing UI directly into my SaaS product?
Generally no. Invoice Ninja fits best as a separate billing service with its own client portal and API, not as billing UI embedded directly into your product's routing and authentication. If you need fine-grained control over domain models inside your own application, building those models yourself may be a better fit. Use Invoice Ninja when you want invoices, quotes, payments, and recurring billing without building them.
What changed in Invoice Ninja 5.13.49 that affects integrations?
The release includes batched chart summary queries, eager loading fixes to reduce N+1 queries, and a filter fix in emailHistory that may change filtered email delivery results. It also raises the Stripe API floor to 2025.basil, finalizes offline payment sync behavior, and fixes tax period reporting. These are server-side correctness and performance changes rather than new extension points, so review stored expectations and payment tests.
How should I test an Invoice Ninja integration before production?
Run a real payment test pass, not just a smoke test, especially if you rely on Stripe and webhooks. Replay webhook deliveries to confirm idempotency and validate offline payment scenarios such as partial payments, refunds, and multi-currency if you use that feature. Also diff tax reports and filtered email history against known-good data after upgrading.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections