Backend Development 8 min read

Contract Management and Expense Reimbursement System Overview and Deployment Guide

This document provides a comprehensive overview of a contract management and employee travel expense reimbursement system for small‑to‑medium enterprises, detailing its functional modules, BS architecture with Vue front‑end and Django back‑end, environment setup, database configuration, user registration, login procedures, and management of users, departments, projects, contracts, reimbursements, and financial approvals.

Python Programming Learning Circle
Python Programming Learning Circle
Python Programming Learning Circle
Contract Management and Expense Reimbursement System Overview and Deployment Guide

The system is a lightweight contract and expense‑reimbursement management solution aimed at small‑to‑medium enterprises, organized around projects and supporting both outbound (sales) and inbound (purchase) contracts, as well as invoice and fund planning.

Architecture : It follows a BS model with a front‑end built on Vue‑CLI, a back‑end powered by Django, and a MySQL database.

Web Server Environment : Node.js v14.13.1 and npm 6.14.8.

API Server Environment : Python 3.7.

<code># pip list
Package              Version
------------------- -------
asgiref              3.2.10
Cython               0.29.21
Django               3.1.2
django-filter        2.4.0
djangorestframework 3.12.1
pip                  20.2.3
PyMySQL              0.10.1
pytz                 2020.1
setuptools           50.3.0
sqlparse             0.4.1
wheel                0.35.1</code>

Database Environment : MySQL version > 5.7, with default configuration (database name: zw , user: zw , password: zw123 , host: 127.0.0.1 , port: 3306 ).

<code># ApiServer/settings.py snippet
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'zw',
        'USER': 'zw',
        'PASSWORD': 'zw123',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}</code>

Access Flow : User browser → Web server → API server → MySQL database.

System Registration : After deployment, users access http://<web‑server‑IP>:8080 (IE not supported) to register, copying the displayed host ID to obtain a license.

User Login : Default admin credentials are username admin and password 123456 ; users are encouraged to change the password after first login.

User Management : Includes account, department, role (admin or regular user), status (active/inactive), and deletion rules (only admins can delete, and only if no related data exists).

Department, Unit, and Project Information : Allows creation and management of departments, company units, and projects, linking them to contracts and reimbursements.

Contract Management : Supports creating, modifying, and querying project contracts, with options to manage invoice plans, fund plans, and attachments.

Reimbursement Management : Users can add new reimbursements and query their own records; reimbursements are categorized as project‑related or other.

Financial Management : Provides administrators with reimbursement approval and comprehensive query functions for all users, including batch approval and revocation capabilities.

backendVueMySQLDjangoWeb ApplicationContract Management
Python Programming Learning Circle
Written by

Python Programming Learning Circle

A global community of Chinese Python developers offering technical articles, columns, original video tutorials, and problem sets. Topics include web full‑stack development, web scraping, data analysis, natural language processing, image processing, machine learning, automated testing, DevOps automation, and big data.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.