- What is bluetools/moneybird-php-api used for?
- It is a PHP client for the MoneyBird accounting API, distributed via Composer. It provides typed resources, fluent access to contacts, invoices, payments, and other resources, plus pagination and authentication handling. The blurb also advertises a Laravel service provider and facade, though the package is not a Laravel-native domain model library.
- How do I install bluetools/moneybird-php-api in a Laravel app?
- Install it with Composer using composer require bluetools/moneybird-php-api and register or auto-discover the service provider and facade if the package supports them. Publish or create config/moneybird.php for credentials and bind the client behind your own gateway interface. Because the GitHub repository is archived, pin a vetted fork or exact version rather than relying on an unpinned upstream dependency.
- Does this package include a Laravel service provider and facade?
- Yes, the package blurb describes a Laravel service provider and facade for the MoneyBird client. That makes basic container binding and facade-style access possible in Laravel. However, it should still be treated as an adapter dependency rather than a domain model dependency.
- Which MoneyBird resources can I manage with this client?
- The client is described as covering contacts, invoices, payments, and other MoneyBird resources through a fluent, typed interface with pagination. The exact coverage for ledger accounts, tax rates, and webhooks is not guaranteed by the overview. Run a sandbox proof of concept against the endpoints your Laravel application actually needs.
- Is bluetools/moneybird-php-api safe for production use?
- Treat it as high risk if used as-is because the source repository is archived, has low adoption, zero dependents, and no upstream issue triage. Financial integrations also need audit logging, secrets management, and data-retention controls. For production, fork and pin the code under your organization, add compatibility tests, and keep it behind an internal gateway interface.
- Which PHP and Laravel versions does this MoneyBird package support?
- The provided context does not list exact PHP, Laravel, or Guzzle version constraints, so you must inspect its composer.json before adoption. Because the repository is archived, those constraints may not reflect current Laravel or PHP releases. Validate PSR compliance, Guzzle major versions, and container compatibility in a branch before committing.
- Does it handle MoneyBird OAuth, token refresh, pagination, and rate limits?
- The overview says authentication and pagination are handled, but it does not confirm the current MoneyBird OAuth model, token refresh behavior, or rate-limit handling. Archived code may lag behind current MoneyBird API changes. Test these behaviors against a MoneyBird sandbox and add retry, logging, and token-refresh logic where needed.
- How should I integrate MoneyBird into a Laravel application?
- Wrap the client inside an adapter that implements your own MoneyBirdGateway interface, then bind that adapter through a Laravel service provider. Expose credentials and options through config/moneybird.php and keep MoneyBird DTOs and exceptions out of application services. This lets you replace the archived client with a fork, official SDK, or custom HTTP client without changing business logic.
- Are there tests and community support for this package?
- The package has low adoption, zero dependents, and an archived repository, so community support and issue triage are effectively absent. The context does not confirm the presence or quality of tests and fixtures, so verify them before relying on the code. Budget for your own contract tests and maintenance if you adopt it.
- What are the alternatives if this archived MoneyBird client does not fit?
- You can fork the MIT-licensed code, pin it in Composer, and add compatibility tests if its endpoint coverage is sufficient. If it fails the sandbox proof of concept, implement a thin Laravel HTTP client against the MoneyBird OpenAPI or REST documentation. Either way, keep the integration behind your own gateway interface so the client remains replaceable.