PHPackages                             jeffersongoncalves/laravel-erp-manufacturing - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. jeffersongoncalves/laravel-erp-manufacturing

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

jeffersongoncalves/laravel-erp-manufacturing
============================================

ERP manufacturing — BOMs, work orders and job cards for the Laravel ERP ecosystem

10PHP

Since Jun 27Pushed todayCompare

[ Source](https://github.com/jeffersongoncalves/laravel-erp-manufacturing)[ Packagist](https://packagist.org/packages/jeffersongoncalves/laravel-erp-manufacturing)[ RSS](/packages/jeffersongoncalves-laravel-erp-manufacturing/feed)WikiDiscussions main Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

Laravel ERP Manufacturing
=========================

[](#laravel-erp-manufacturing)

ERP manufacturing — BOMs, work orders and job cards for the Laravel ERP ecosystem.

This package is the manufacturing module of an ERPNext-native rebuild. It sits on top of the stock layer: producing a finished good consumes raw materials and receives the output through the perpetual inventory engine, which values every movement and posts it to the general ledger. It depends on [`jeffersongoncalves/laravel-erp-core`](https://github.com/jeffersongoncalves/laravel-erp-core), [`jeffersongoncalves/laravel-erp-accounting`](https://github.com/jeffersongoncalves/laravel-erp-accounting) and [`jeffersongoncalves/laravel-erp-stock`](https://github.com/jeffersongoncalves/laravel-erp-stock).

Features
--------

[](#features)

- **Bills of Materials** — A `Bom` master with raw-material lines and operation lines; the raw-material, operating and total cost columns are recomputed automatically from the child rows whenever a line changes
- **Workstations &amp; Operations** — Workstation masters (carrying an hourly rate and a production capacity) and the operations performed on them
- **Routings** — Reusable, ordered sequences of operations that can drive a BOM's process
- **Work Orders** — Submittable documents (`Draft → Submitted → Cancelled`) to produce a quantity of a finished item against a BOM; on submit the required-materials rows are populated from the BOM scaled to the ordered quantity and the status advances to *Not Started*
- **Job Cards** — Shop-floor execution of a work order's operations, with time logs
- **Manufacture Stock Entry** — `WorkOrderService::manufacture()` turns a work order into a `Manufacture` stock entry: an outbound consume line per raw material and one inbound finished-good line; submitting it runs the stock engine (outbound raw SLE + inbound FG SLE + GL impact)
- **Customizable Models** — Override any model via config (ModelResolver pattern)
- **Translations** — English and Brazilian Portuguese

Compatibility
-------------

[](#compatibility)

PackagePHPLaravel`^1.0``^8.2``^11.0 | ^12.0 | ^13.0`Installation
------------

[](#installation)

```
composer require jeffersongoncalves/laravel-erp-manufacturing
```

Publish and run the migrations (the core, accounting and stock package migrations must be published too):

```
php artisan vendor:publish --tag="erp-core-migrations"
php artisan vendor:publish --tag="erp-accounting-migrations"
php artisan vendor:publish --tag="erp-stock-migrations"
php artisan vendor:publish --tag="erp-manufacturing-migrations"
php artisan migrate
```

Publish the config (optional):

```
php artisan vendor:publish --tag="erp-manufacturing-config"
```

Producing a Finished Good
-------------------------

[](#producing-a-finished-good)

A work order describes what to make; `WorkOrderService` turns it into the stock movement that actually consumes and produces.

```
use JeffersonGoncalves\Erp\Manufacturing\Models\WorkOrder;
use JeffersonGoncalves\Erp\Manufacturing\Services\WorkOrderService;

$workOrder = WorkOrder::create([
    'production_item' => 'FG-WIDGET',
    'bom_id' => $bom->id,
    'qty' => 10,
    'company_id' => $company->id,
    'wip_warehouse_id' => $wip->id,
    'fg_warehouse_id' => $fg->id,
]);

// Required materials are pulled from the BOM (scaled to qty) and the status
// advances to "Not Started".
$workOrder->submit();

// Build the Manufacture stock entry: a consume line per raw material plus one
// finished-good line. It is returned in Draft.
$entry = app(WorkOrderService::class)->manufacture($workOrder);

// Submitting it runs the perpetual inventory engine: outbound raw stock-ledger
// entries, an inbound finished-good entry and the matching GL impact.
$entry->submit();
```

The produced quantity / status of the (now immutable) work order are intentionally left untouched by `manufacture()`; advancing them is a documented follow-up once a work order supports partial completion.

Database Tables
---------------

[](#database-tables)

All tables use the configured prefix shared across the ERP ecosystem (default: `erp_`): `workstations`, `operations`, `boms`, `bom_items`, `bom_operations`, `routings`, `routing_operations`, `work_orders`, `work_order_items`, `job_cards`, `job_card_time_logs`.

Testing
-------

[](#testing)

```
composer test
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

21

—

LowBetter than 18% of packages

Maintenance65

Regular maintenance activity

Popularity2

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity11

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/411493?v=4)[Jefferson Gonçalves](/maintainers/jeffersongoncalves)[@jeffersongoncalves](https://github.com/jeffersongoncalves)

---

Top Contributors

[![jeffersongoncalves](https://avatars.githubusercontent.com/u/411493?v=4)](https://github.com/jeffersongoncalves "jeffersongoncalves (1 commits)")

### Embed Badge

![Health badge](/badges/jeffersongoncalves-laravel-erp-manufacturing/health.svg)

```
[![Health](https://phpackages.com/badges/jeffersongoncalves-laravel-erp-manufacturing/health.svg)](https://phpackages.com/packages/jeffersongoncalves-laravel-erp-manufacturing)
```

###  Alternatives

[olimortimer/laravelshoppingcart

Laravel Shoppingcart

4343.3k](/packages/olimortimer-laravelshoppingcart)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
