Laravel Packages

Accountant Laravel Package

Published
Accountant Laravel Package image

Accountant is a Laravel accountably package for your Eloquent models by developer Quetzy Garcia. This package is a convenient way to keep track of Eloquent model changes:

Data discrepancies that may indicate business concerns suspect activities, and other actions that would otherwise pass unnoticed, can now be easily spotted.

At the time of writing, here are the key features according to the README:

  • Many-to-many (BelongsToMany and MorphToMany) relation support;
  • Event source style approach, by keeping complete snapshots of Recordable models when created, modified or retrieved;
  • Ability to recreate Recordable model instances in the exact state they were in when recorded;
  • Signed Ledger records for data integrity;
  • Effortless data integrity checks
  • Recording contexts
  • Huge customisation support
  • Easy to follow documentation and troubleshooting guide;
  • Laravel and Lumen 5.2+ support;

This package has a ton of features you can check it in the documentation. Here’s an example of the “Recordable” trait used to record model events:

<?php

namespace App\Models;

use Altek\Accountant\Contracts\Recordable;
use Illuminate\Database\Eloquent\Model;

class Article extends Model implements Recordable
{
    use \Altek\Accountant\Recordable;

    // ...
}


Accountant released v1.1.0 on January 1st, which introduced Many-to-many relationships, and forceDelete event support. You can even track pivot events – check the recordable model setup documentation for details on recording pivot events.

You can follow along with Accountant and view the source code on GitLab at Altek / Accountant, including the documentation which is available under version control in the same GitLab repository.

Learn More

Another package that we’ve covered on the topic of event sourcing is Spatie’s Laravel Event Projector. I suggest you read our article that contains links to the concepts around event sourcing if you’re not familiar. I am not sure which features differ between the two packages, but I’d check out both to further determine your needs.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Sponsored

acquaintsoft logo
Acquaint Softtech

Hire Laravel developers with AI expertise at $20/hr. Get started in 48 hours.

Visit Acquaint Softtech

The latest

View all →
Search Polymorphic Relations and Filament Tables With Laravel Searchable image

Search Polymorphic Relations and Filament Tables With Laravel Searchable

Read article
Laravel Rest Api 3.0: Typed Fields, Metrics, and OpenAPI Docs image

Laravel Rest Api 3.0: Typed Fields, Metrics, and OpenAPI Docs

Read article
Real-Time Inertia Props With Laravel Reverb image

Real-Time Inertia Props With Laravel Reverb

Read article
PhpStorm 2026.3 Adds an Agent Workspace and PHP 8.6 Support image

PhpStorm 2026.3 Adds an Agent Workspace and PHP 8.6 Support

Read article
Insert Middleware Before or After Existing Laravel Middleware image

Insert Middleware Before or After Existing Laravel Middleware

Read article
Laravel Herd 2: Coding Agents, Workspaces, and Cloud Deploys image

Laravel Herd 2: Coding Agents, Workspaces, and Cloud Deploys

Read article