- What is savannabits/kuali-companion used for?
- It is a Laravel companion package for integrating Kuali Finance into PHP applications. It wraps Kuali APIs in an expressive interface so you can query and sync institutional data and post transactions in real time or through Enterprise Feed. Version 1.2.0 also adds experimental Journal Voucher posting via kualiJournalVoucher().
- How do I install savannabits/kuali-companion in a Laravel application?
- Install it with Composer using composer require savannabits/kuali-companion, then follow the package README for any service provider or configuration publishing steps. Keep Kuali credentials in your environment file rather than committing them to source control. After installation, run your existing test suite to confirm container bindings and configuration still behave as expected.
- Which Laravel versions does savannabits/kuali-companion support?
- The provided documentation does not list explicit Laravel version constraints, so check the package composer.json on Packagist or GitHub before adopting it. Confirm that its PHP and illuminate/support requirements match your application before upgrading. Testing in a non-production environment is the safest way to verify compatibility with your Laravel version.
- How do I post a journal voucher to Kuali with this package?
- Version 1.2.0 exposes kualiJournalVoucher() so you can instantiate and build a Journal Voucher payload for posting to Kuali. Wrap that helper inside an application-level service rather than calling it directly from controllers or queued jobs. Validate the payload against a Kuali sandbox before enabling it in production.
- Is Journal Voucher posting production ready in savannabits/kuali-companion?
- The JV posting capability in v1.2.0 is explicitly marked experimental, so it should be treated as a pilot rather than a fully proven accounting integration. Payload shape, validation behavior, and error semantics may change in future releases. Add feature-flag control, audit logging, and a reconciliation path before enabling it for real financial postings.
- What is the difference between real-time posting and Enterprise Feed in Kuali Companion?
- The package supports posting transactions to Kuali Finance either in real time or through Enterprise Feed. Real-time posting is better suited to immediate submission and faster feedback, while Enterprise Feed is typically used for batched or scheduled financial data exchange. Choose based on your reconciliation process, latency requirements, and how Kuali is configured for your institution.
- How does authentication to Kuali work with this Laravel package?
- The package communicates with Kuali APIs and therefore needs valid Kuali API credentials and endpoint configuration for each environment. Store secrets in environment variables or a secrets manager and keep environment-specific Kuali settings outside the package itself. Confirm the exact authentication model against the Kuali API version you are targeting before going live.
- Does the package validate journal vouchers locally or handle duplicate submissions?
- The provided evaluation does not confirm local balancing, account-code validation, idempotency, or duplicate submission handling for the experimental JV path. Because journal vouchers are financially sensitive, implement idempotency keys, retry logic, and reconciliation in your application layer. Test balanced and rejected voucher scenarios against a Kuali sandbox before relying on the package for accounting correctness.
- Can I upgrade from an earlier version without breaking existing Kuali integration code?
- The v1.2.0 JV support appears additive, so consumers not using Journal Voucher posting should generally be able to upgrade without code changes. Upgrade in a non-production environment first, run your existing tests, and verify service provider bindings and configuration remain compatible. Consumers adopting JV posting should isolate it behind their own service boundary and feature flag.
- Is this package a good alternative to building a custom Kuali API client?
- It can reduce boilerplate if you want a thin Laravel-oriented wrapper around Kuali APIs for querying, syncing, and posting transactions. However, the experimental JV path means teams with strict accounting requirements may prefer a custom adapter or a more mature integration. Either way, keep Kuali access behind an application-level interface so you can swap implementations later.