quicksolve/laravel-calc

High-precision calculation engine for Laravel POS.

Maintainers

Package info

github.com/QuickSolve-JS/QuickSolve-JS

pkg:composer/quicksolve/laravel-calc

Statistics

Installs: 4

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 1

v1.0.1 2026-03-30 19:09 UTC

This package is auto-updated.

Last update: 2026-05-03 15:02:16 UTC


README

QuickSolve-JS

QuickSolve Calculation Engine ๐Ÿš€

PHP Version Laravel Version License

A high-precision, action-based calculation engine for Laravel, specifically designed for POS and Financial Systems. Built with SOLID principles and BCMath for "Bank-level" mathematical accuracy.

โœจ Features

  • โœ… Action Pattern: Clean, modular logic for Taxes and Discounts.
  • ๐Ÿ”ข BCMath Integration: Eliminates floating-point precision errors.
  • ๐Ÿ”— Fluent Interface: Beautiful and readable method chaining.
  • ๐Ÿงช Unit Tested: Ensuring 100% reliability in financial calculations.
  • ๐Ÿš€ Laravel Ready: Includes Facades for seamless integration.

๐Ÿ“ฆ Installation

You can install the package via composer:

composer require quicksolve/laravel-calc

Note: Ensure the bcmath PHP extension is enabled on your server.

๐Ÿš€ Usage

Using the engine is simple and intuitive. You can use the QuickSolve Facade:

use QuickSolve\Calc\Facades\QuickSolve;

// Basic calculation
$total = QuickSolve::setAmount(1000)
            ->addTax(15)        // Adds 15% Tax
            ->applyFlatDiscount(50) // Deducts flat 50
            ->get();            // Returns 1100.00

// Formatting for display
echo QuickSolve::setAmount(1250.50)->format('LKR'); 
// Output: LKR 1,250.50

๐Ÿ›  Planned Features (Roadmap)

  • Multiple Tax Support: Ability to stack multiple tax types (VAT, SSCL, etc.).
  • Service Charges: Built-in action for hospitality service fees.
  • Rounding Strategies: Support for various rounding modes (Half Up, Half Down, etc.).

๐Ÿค Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“„ License

Distributed under the MIT License. See LICENSE for more information.

Developed with โค๏ธ by Niduranga Jayarathna