PHPackages                             madforwebs/financial-bundle - 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. madforwebs/financial-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

madforwebs/financial-bundle
===========================

This bundle provides a financialbundle for symfony2

021PHP

Since Dec 27Pushed 5y agoCompare

[ Source](https://github.com/madforwebs/FinancialBundle)[ Packagist](https://packagist.org/packages/madforwebs/financial-bundle)[ RSS](/packages/madforwebs-financial-bundle/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

CalendarBundle
==============

[](#calendarbundle)

The `BookingBundle` means easy-to-implement and feature-rich calendar in your Symfony application!

Installation
------------

[](#installation)

### Download the Bundle

[](#download-the-bundle)

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

```
$ composer require madforwebs/financial-bundle
```

This command requires you to have Composer installed globally, as explained in the `installation chapter` of the Composer documentation.

### Enable the Bundle

[](#enable-the-bundle)

Then, enable the bundle by adding the following line in the `app/AppKernel.php`file of your project:

```
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...

            new MadForWebs\FinancialBundle\FinancialBundle(),
        );

        // ...
    }

    // ...
}
```

Import service calendar to app
------------------------------

[](#import-service-calendar-to-app)

You must define import service from @CalendarBundle like this in your config.yml

```
    imports:
        ...
        - { resource: "@FinancialBundle/Resources/config/services.yml" }
        ...
```

Import calendar festive days
----------------------------

[](#import-calendar-festive-days)

An example use service to import festive days

```
    /** @var CalendarHandler $calendarHandler */
    $calendarHandler = $this->get('mad_for_webs_calendar.handler');
    $calendarHandler->createDaysFromCalendar();
```

Extend class account
--------------------

[](#extend-class-account)

You can extend class

```
    use MadForWebs\FinancialBundle\Entity\Account as BaseAccount;

    /**
     * @ORM\Entity
     * @ORM\Table(name="mfw_account")
     */
    class Account extends BaseAccount
    {
        ...

        /**
         * @ORM\OneToMany(targetEntity="Expenditure", mappedBy="account", cascade={"all"})
         * @ORM\OrderBy({"dateBuy"="DESC"})
         */
        private $expenditures;

        /**
         * @ORM\OneToMany(targetEntity="Income", mappedBy="account", cascade={"all"})
         * @ORM\OrderBy({"dateIncome"="DESC"})
         */
        private $earnings;

        /**
         * @ORM\OneToMany(targetEntity="Income", mappedBy="accountDestiny", cascade={"all"})
         * @ORM\OrderBy({"dateIncome"="DESC"})
         */
        private $earningsOrigins;
}
```

```
    use MadForWebs\FinancialBundle\Entity\Expenditure as BaseExpenditure;

    /**
     * Expenditure
     *
     * @ORM\Table(name="expenditure")
     * @ORM\Entity(repositoryClass="FinancialBundle\Repository\ExpenditureRepository")
     */
    class Expenditure
    {

        /**
         * @ORM\ManyToOne(targetEntity="Provider", inversedBy="expenditures")
         * @ORM\JoinColumn(name="provider", referencedColumnName="id", nullable=true)
         */
        private $provider;

        /**
         * @ORM\ManyToOne(targetEntity="Account", inversedBy="expenditures")
         * @ORM\JoinColumn(name="account", referencedColumnName="id", nullable=true)
         */
        private $account;

        /**
         * @var string
         * @ORM\Column(name="way_to_pay", type="string", columnDefinition="enum('card','bank','transfer','cash','paydesk', 'gratification')" , nullable=false)
         */
        private $wayToPay;

    }

```php
    use MadForWebs\FinancialBundle\Entity\Income as BaseIncome;

    /**
     * Income
     *
     * @ORM\Table(name="income")
     * @ORM\Entity(repositoryClass="FinancialBundle\Repository\IncomeRepository")
     */
    class Income
    {

        /**
         * @ORM\OneToOne(targetEntity="Income", inversedBy="linkedIncome")
         * @ORM\JoinColumn(name="linkedIncome", referencedColumnName="id", nullable=true)
         */
        private $linkedIncome;

        /**
         * @ORM\ManyToOne(targetEntity="Account", inversedBy="earnings")
         * @ORM\JoinColumn(name="account", referencedColumnName="id", nullable=false)
         */
        private $account;

        /**
         * @ORM\ManyToOne(targetEntity="Account", inversedBy="earningsOrigins")
         * @ORM\JoinColumn(name="accountDestiny", referencedColumnName="id", nullable=true)
         */
        private $accountDestiny;
    }

```php
    use MadForWebs\FinancialBundle\Entity\Provider as BaseProvider;

    /**
     * Provider
     *
     * @ORM\Table(name="provider")
     * @ORM\Entity(repositoryClass="FinancialBundle\Repository\ProviderRepository")
     */
    class Provider
    {

        /**
         * @ORM\OneToMany(targetEntity="Expenditure", mappedBy="provider", cascade={"all"})
         * @ORM\OrderBy({"dateBuy"="DESC"})
         */
        private $expenditures;

        /**
         * @ORM\OneToMany(targetEntity="Product", mappedBy="provider", cascade={"all"})
         * @ORM\OrderBy({"name"="ASC"})
         */
        private $products;
    }
```

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity31

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://www.gravatar.com/avatar/dfca41902cbfed33f74c6bcb36a8b9e325db194236f6887d2d269e206fc17ee4?d=identicon)[madforwebs](/maintainers/madforwebs)

---

Top Contributors

[![madforwebs](https://avatars.githubusercontent.com/u/36137927?v=4)](https://github.com/madforwebs "madforwebs (14 commits)")

### Embed Badge

![Health badge](/badges/madforwebs-financial-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/madforwebs-financial-bundle/health.svg)](https://phpackages.com/packages/madforwebs-financial-bundle)
```

###  Alternatives

[zenepay/filament-buddhist-date-picker

Laravel Filament DatePicker with Bhuddist Era plugin

214.8k](/packages/zenepay-filament-buddhist-date-picker)[workerman/stomp

1010.3k6](/packages/workerman-stomp)

PHPackages © 2026

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