Skip to main content

Tax System module for AllianceAuth.

Release Licence Python Django pre-commit.ci status Code style: black Tests codecov Translation status Discord

ko-fi

A Tax System for Corporation to Monitor Payments like Renting Tax, etc.


Features

  • Multi-Owner Support: Manage both Corporations and Alliances
  • Corporation & Alliance Tax System
    • Statistics
      • Owner Information
      • Payments
      • Tax Accounts
      • Division Information
      • Update Status
    • Member Tracking
      • Check Member is registered in Auth
      • Check Member is Alt Char
      • Report members as missing if they leave the corporation/alliance
    • Payment System
      • Allocate User from Member Tracking
      • Automatic Payment Tracking
      • Automatic Payment Approval via Filters
      • Filtering Amount, Reason, Date
    • Payments
      • Track Payments that meets filters
      • Manual approval workflow for unfiltered payments
    • Log System
      • Logs Actions from Administration Section
      • Payment history tracking
    • Notification
      • Discord Notification

Upcoming

  • Data export functionality

Screenshots

Administration View

Screenshot

Account User Payments History

Screenshot

Tax Filters

Screenshot

Payments Details

Screenshot

Payments

Screenshot

Installation

[!NOTE] AA Tax System needs at least Alliance Auth v5 Please make sure to update your Alliance Auth before you install this APP

Step 1 - Install the Package

Make sure you're in your virtual environment (venv) of your Alliance Auth then install the pakage.

pip install aa-taxsystem

Step 2 - Configure Alliance Auth

Configure your Alliance Auth settings (local.py) as follows:

  • Add 'taxsystem', to INSTALLED_APPS

Step 3 - Add the Scheduled Tasks

To set up the Scheduled Tasks add following code to your local.py

CELERYBEAT_SCHEDULE["AA Taxsystem :: Update All Tax System"] = {
    "task": "taxsystem.tasks.update_all_taxsytem",
    "schedule": 1800,
}
CELERYBEAT_SCHEDULE["AA Taxsystem :: Sent out Notification"] = {
    "task": "taxsystem.tasks.check_account_deposit",
    "schedule": crontab(minute="0", hour="12"),
}

Step 3.1 - (Optional) Add own Logger File

To set up the Logger add following code to your local.py Ensure that you have writing permission in logs folder.

LOGGING["handlers"]["taxsystem_file"] = {
    "level": "INFO",
    "class": "logging.handlers.RotatingFileHandler",
    "filename": os.path.join(BASE_DIR, "log/taxsystem.log"),
    "formatter": "verbose",
    "maxBytes": 1024 * 1024 * 5,
    "backupCount": 5,
}
LOGGING["loggers"]["extensions.taxsystem"] = {
    "handlers": ["taxsystem_file", "console", "extension_file"],
    "level": "DEBUG",
}

Step 4 - Migration to AA

python manage.py collectstatic
python manage.py migrate

Step 5 - Setting up Permissions

With the Following IDs you can set up the permissions for the Tax System

ID Description
basic_access Can access the Tax System module All Members with the Permission can access the Tax System.
create_access Can add Corporation/Alliance Users with this permission can add corporations and alliances.
manage_own_corp Can manage own Corporation Users with this permission can manage own corporation.
manage_corps Can manage all Corporations Users with this permission can manage all corporations.
manage_own_alliance Can manage own Alliance Users with this permission can manage own alliance.
manage_alliances Can manage all Alliances Users with this permission can manage all alliances.

Step 6 - (Optional) Setting up Compatibilies

The Following Settings can be setting up in the local.py

  • TAXSYSTEM_APP_NAME: "YOURNAME" - Set the name of the APP

  • TAXSYSTEM_BULK_BATCH_SIZE: 500 - Maximum database batch size per operation. Reduce (e.g., 250) if encountering 'max_allowed_packet' errors, increase for better performance if MySQL is configured with higher limits Advanced Settings: Stale Status for Each Section

  • TAXSYSTEM_STALE_TYPES = { "wallet": 60, "divisions": 60, "division_names": 60, "members": 60, "payments": 60, "tax_accounts":60, "deadlines": 1440 } - Defines the stale status duration (in minutes) for each section.

  • TAXSYSTEM_NOTIFICATION_EXPIRATION_DAYS = 1 - The maximum number of days after which a notification expires and the system resends it.

Documentation

For detailed information on how to use the Tax System, please refer to our comprehensive User Manual.

The manual covers:

  • Getting started with the Tax System
  • Adding Corporations and Alliances
  • Payment System functionality
  • Filter configuration
  • Account management
  • Administration features
  • FAQ and troubleshooting

Translations

Translations

Help us translate this app into your language or improve existing translations. Join our team!"

Contributing

You want to improve the project? Please ensure you read the contribution guidelines

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aa_taxsystem-4.0.2.tar.gz (445.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aa_taxsystem-4.0.2-py3-none-any.whl (602.4 kB view details)

Uploaded Python 3

File details

Details for the file aa_taxsystem-4.0.2.tar.gz.

File metadata

  • Download URL: aa_taxsystem-4.0.2.tar.gz
  • Upload date:
  • Size: 445.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aa_taxsystem-4.0.2.tar.gz
Algorithm Hash digest
SHA256 3709c1f22032079e4e0769334d9b28e649617507fe7c39c045af7190e2a0798d
MD5 3532b0e8d36ed6ab519397f7cdce4ad7
BLAKE2b-256 0a221f863e4d8bfdcfdbc32037caaae297c74d0550cb7954d8ada8261bc125d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_taxsystem-4.0.2.tar.gz:

Publisher: release.yml on Geuthur/aa-taxsystem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aa_taxsystem-4.0.2-py3-none-any.whl.

File metadata

  • Download URL: aa_taxsystem-4.0.2-py3-none-any.whl
  • Upload date:
  • Size: 602.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for aa_taxsystem-4.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 be946c30fb6f34142c86099c4673defb29a6040cd80e281f0d760fd452216602
MD5 9ff54b2f7b3121f9f8a15c166ef28aaf
BLAKE2b-256 c7215529dbb67433d108acc66890cb761354ebb7003eb775c85260a61973c3d5

See more details on using hashes here.

Provenance

The following attestation bundles were made for aa_taxsystem-4.0.2-py3-none-any.whl:

Publisher: release.yml on Geuthur/aa-taxsystem

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

4.0.2 This release

2 files

4.0.1

2 files

4.0.0

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.0.2.1

2 files

2.0.2

2 files

2.0.1

2 files

2.0.0

2 files

1.0.2

2 files

1.0.1

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.3

2 files

0.6.2

2 files

0.6.1

2 files

0.6.0

2 files

0.5.9

2 files

0.5.8

2 files

0.5.7

2 files

0.5.6

2 files

0.5.5

2 files

0.5.4.1

2 files

0.5.4

2 files

0.5.3

2 files

0.5.2.1

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.0.1

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page