Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Prices Laravel Package

mibo/prices

A Laravel package for handling prices and monetary values in your models. It offers a lightweight price object with formatting, arithmetic and currency helpers, keeping money logic consistent and testable across your application.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for the pricing layer. Pricing is a cross-cutting concern that touches catalog, checkout, invoicing, and reporting. This package is a candidate for the "buy" (or rather, adopt) side of that decision — it lets the team avoid re-implementing currency storage, rounding, and formatting from scratch.
  • Multi-currency and regional pricing roadmap. A dedicated price abstraction is the prerequisite for decisions like "do we launch in EUR/GBP this quarter?" or "do we show tax-inclusive prices in the EU?" Without a price value object and a price-list concept, those features become schema migrations and conditional logic scattered across the codebase.
  • B2B vs. B2C pricing tiers. If the roadmap includes customer-specific, contract, or volume pricing, the decision is whether to model it as price lists layered on a base price (what a package like this typically enables) or as bespoke per-customer records. This package pushes you toward the former, which is usually the cheaper long-term model.
  • Price history and auditability. Finance and legal stakeholders will eventually ask "what did this SKU cost on this date, and who changed it?" Deciding early to store prices as immutable, timestamped records rather than a mutable price column is a one-way door; this package's data model informs that choice.
  • Scope boundaries for the domain team. Adopting it signals that money math is infrastructure, not product logic — freeing engineering capacity for the things that actually differentiate the product (merchandising rules, promotions, bundling).
  • Deprioritization signal. With zero stars and zero dependents, this is not a decision the PM can make on popularity or ecosystem validation. The realistic decision it supports today is "spike it, don't ship it" — or "use it as a design reference for our own implementation."

When to Consider This Package

Consider it when:

  • You are Laravel-based and about to build pricing for the first time — evaluating an existing model is cheaper than designing one from a blank page, even if you ultimately write your own.
  • Your requirements are conventional: a base price per SKU, one or more currencies, formatted display output, and straightforward rounding. This is where small, opinionated packages tend to be adequate.
  • You want a reference architecture rather than a dependency — read the migrations and casts, borrow the schema, and skip the runtime coupling.
  • You have engineering appetite to vendor or fork it. MIT licensing makes that legally trivial; the risk is maintenance, not law.
  • Your team is small and the alternative is a half-finished in-house money implementation with known rounding bugs.

Look elsewhere when:

  • Adoption risk is unacceptable. Zero stars, zero dependents, and a low overall score mean no community validation, no Stack Overflow footprint, and no evidence anyone has run this in production. Treat it as unproven code, not as a library.
  • You need correctness guarantees around money. Prefer moneyphp/money or brick/money for the arithmetic core — they are battle-tested and widely depended upon — and layer your Laravel integration on top.
  • You need tax calculation, jurisdiction rules, or VAT/GST compliance. Those are compliance products, not formatting concerns; look at dedicated tax engines.
  • You need promotion engines, coupon stacking, or complex discount precedence — that is a rules problem, and a price storage package will not solve it.
  • You need multi-tenant, per-contract enterprise pricing at scale, where a bespoke model is unavoidable anyway.
  • Maintenance posture matters more than time-to-first-commit — e.g., a long-lived revenue-bearing system with no appetite for carrying an abandoned dependency.

How to Pitch It (Stakeholders)

To executives: Pricing is core to revenue and deceptively easy to get wrong — rounding errors, currency drift, and inconsistent tax display are the kinds of bugs that generate refunds and finance escalations. This package is a small, MIT-licensed Laravel component that models prices properly instead of as a bare number in a database column. But it has no adoption — no stars, no dependents, no evidence of production use — so the recommendation is not to take a dependency on it. The right move is a short, time-boxed evaluation: use it to pressure-test our pricing data model, then either adopt it deliberately with a fork-and-own plan or build the same shape in-house on top of a proven money library. Cost is measured in days, not weeks, and the downside is bounded.

To engineering: Treat mibo/prices as a design input, not a dependency. It is useful for seeing how a Laravel-native price abstraction is typically structured — value objects for amounts, casts for persistence, price lists for currency and region variation — and the MIT license means we can lift the schema outright. The concerns are the ones that come with any single-maintainer package at zero adoption: no external bug reports, no compatibility track record against our Laravel version, and an implicit bus factor of one. Recommendation: one engineer, one spike, evaluate against our actual requirements (multi-currency, tiered B2B, audit trail). If the arithmetic core is anything short of rigorous, back it with moneyphp/money or brick/money and keep only the Laravel ergonomics. Decide within the sprint; do not let it linger as a half-evaluated option.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
adachsoft/api-version-bundle