juntagrico / juntagrico-billing

GNU Lesser General Public License v3.0
2 stars 3 forks source link
addon

juntagrico-billing

juntagrico-ci Maintainability Test Coverage image image

This is an extension for juntagrico. You can find more information about juntagrico here (https://github.com/juntagrico/juntagrico).

It provides the following features for juntagrico:

Installation

Install juntagrico-billing via pip pip install juntagrico-billing

or add it to your main django projects requirements.txt: juntagrico-billing

You may also install from github source (or add it to requirements.txt): pip install git+https://github.com/juntagrico/juntagrico-billing.git

In your juntagrico.settings.py add juntagrico_billing somewhere above juntagrico:

INSTALLED_APPS = (
    'juntagrico_billing',
    'juntagrico',
    ...

In your urls.py you also need to add the new pattern:

urlpatterns = [
    ...
    path('',include('juntagrico_billing.urls')),
]

As the billing app introduces its own database tables, you need to apply migrations after installing. Execute python manage.py migrate in your main django project.

Configuration

Set these in your settings.py to modify juntagrico-billing

BILLS_USERMENU

Set to True to add "bills" to the user menu.

default value: False

DUEDATE_NOTICE_URL

Set the url of a page that explains the due date policy of your bills, if you have any.

default value: ''

Create settings object

juntagrico-billing uses a singleton Settings object to store some setting. You need to create this settings object once in django admin.

Create a business year

Billing is done on the base of a business-year. A business-year denotes the time period for creating bills. Usually this will correspond to a calendar year (1.1 - 31.1 of a year). It is possible to use different timespans though. Business-years should be consecutive.

Business years are managed in django admin UI.

Billing

Billing is based on the activation and deactivation dates of subscriptions (and extrasubscriptions) in juntagrico. At any time you may create all needed invoices (bills) for a certain business-year.

In juntagrico you should see the Bills and Bookkeeping Menu, if you are assigned bookkeeping rights.

Go to Bills and choose the desired business-year. Switch to the Generate bills tab. The amount of pending bills for the businessyear should then be displayed. This may take some time depending on the number of subscriptions and members in your system. grafik

Pressing the Generate button will create these bills. They may be viewed afterwards on the all tab of the bills list. grafik

Modifying or adding bills

There are two modes to view an existing bill object:

If a bill created via Generate is incorrect, proceed as follows:

The same procedure applies if a new subscription or subscription part (extrasubscription) is added after bills for a business-year have been generated. If there already is a bill for the same member and you want the additional parts to appear on the same bill, you may delete the existing bill and regenerate it like described above. Deleting a bill is only possible if there are no payments on it. If you add parts without deleting an existing bill, then a new bill will be added for the member.

Adding custom items to a bill

In addition to subscription and extrasubscription parts, a bill may also contain custom items. Custom items may be used for stuff like

For each kind of custom item you need to define a custom Bill item type in django admin: grafik

You need to specify a description and a booking account for the custom item type.

You may then add custom item types on a bill in the django admin view of the bill: grafik

Bookkeeping Export

TBD