henriquemattia/moeda-br
A Laravel package for working with Brazilian currency (BRL). Format numbers as R$, parse localized money strings, and convert amounts using simple, reusable helpers. Ideal for e-commerce, invoices, and financial dashboards, it keeps monetary values consistent across your application.
R$ 1.234,56 correctly instead of US-format 1,234.56. That is a small but visible quality signal in a localized product.Field subclass plus a formatter). The real decision is whether a 0-star, single-maintainer dependency belongs in your composer.json for a purely cosmetic concern. For most teams the honest answer is: acceptable only if Nova is already a paid, non-critical part of your admin stack — otherwise write 30 lines yourself.moneyphp/money or brick/money) and integer minor units. Do not let a formatting package get conflated with a financial-correctness decision — that is the single biggest misread risk here.Diligence flag: the supplied materials are internally inconsistent. The package is described as a Laravel Nova custom mask field, but the prose description claims a framework-agnostic formatting/parsing library, and the engineering assessment discusses Multiply/Divide actions that appear to belong to a different package entirely. Confirm from the actual repository and README what it does before it enters a roadmap or an estimate.
Adopt when all of the following hold:
Look elsewhere — or just write the field yourself — when:
parcelas), or anything where a one-cent error is a support ticket or a compliance issue.Executives (one paragraph): For our Brazilian back office, this is a small, low-cost polish item — it makes currency entry and display correct and consistent for BR staff, which reduces data-entry mistakes and looks professional to local customers. It is a display-layer tool only; it does not touch pricing, billing, or any calculation, so the risk exposure is limited to an admin form field. It is a zero-star, single-maintainer package, so we recommend a time-boxed spike and a fallback plan to own the code ourselves if the dependency stalls. Cost: roughly a day of engineering, no licensing spend.
Engineering (one paragraph): It is a Nova Field for BRL masking/formatting — nothing more. Pin it to a narrow version constraint, restrict usage to Nova resources, and never let raw masked strings into arithmetic; normalize to integer centavos at the request boundary. Before adopting, read the actual source and README — the supplied descriptions conflict on whether this is Nova-only or framework-agnostic, and the release note for 3.2.1 ("improvements on multiply and divide actions") does not match a mask field, so verify what 3.2.1 actually changed. If the package turns out to be thinner than expected, the replacement is a ~30-line custom field plus a formatter in our own namespace — budget for that outcome rather than assuming the dependency is permanent.
How can I help you explore Laravel packages today?