Shift Code Generator is a lightweight Laravel/PHP package that generates unique alphanumeric codes based on the year, month, and day, followed by a randomized string.
It’s ideal for applications that require sequential or time-based identifiers — such as transaction IDs, invoice numbers, or reference codes.
For example:
1E1NKJDQVW
- 1 → Represents the number of years since the start year
- E → Represents the month (A–Z mapping)
- 1 → Represents the day of the month
- NKJDQVW → Randomly generated string
This logic mimics the behavior of M-Pesa transaction IDs, ensuring unique, traceable, and time-bound identifiers.
Install via Composer:
composer require shiftechafrica/shift-code-generatorUpdate to the latest version:
composer update shiftechafrica/shift-code-generator --lockIf the package isn’t automatically discovered, run:
composer dump-autoloadPublish the configuration file:
php artisan vendor:publish --provider="ShiftechAfrica\CodeGenerator\ShiftCodeGeneratorServiceProvider"This will create a config file at:
config/shift-code-generator.php
In your .env file, add the following:
YEAR_OF_START=2020 # The year your application was launched
USE_DATABASE=false # Set to true to use database tracking, or false to use static year configurationIf you enable database tracking, seed the database by adding this entry to your DatabaseSeeder:
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
// Other seeds...
$this->call(\ShiftechAfrica\CodeGenerator\Seeds\ShiftCodeGeneratorFactory::class);
}This ensures your application initializes with proper baseline data for generating codes dynamically.
Generate unique codes easily within your application.
use ShiftechAfrica\CodeGenerator\ShiftCodeGenerator;
/**
* Generate a new Shift Code
*
* @return string
*/
public function generateCode()
{
return (new ShiftCodeGenerator())->generate();
// Optionally pass an integer to set the random length, e.g. ->generate(5)
}1E1NKJDQVW
- 1 = Year offset
- E = Month letter
- 1 = Day
- NKJDQVW = Random string
| Version | Status | Packagist | Namespace | Release |
|---|---|---|---|---|
| 1.x | ✅ Latest | shiftechafrica/shift-code-generator |
ShiftechAfrica\CodeGenerator |
v1.5.2 |
If you discover a security vulnerability, please contact:
📧 Bugs
This package is open-source software licensed under the
MIT License

