Card

Equipment rental and monthly operation cards for ERPNext — built on the Frappe Framework.

Install Card

bench get-app https://github.com/SDe-ER/card

Tags

  • equipment
  • equipment-management
  • equipment-rental
  • erp
  • erpnext
  • frappe
  • frappe-app

Add the Frappe Gems badge to your README

Maintain Card? Paste this into your README:

[![Listed on Frappe Gems](https://frappegems.com/api/method/frappe_gems.seo.badge?app=SDe-ER%2Fcard)](https://frappegems.com/gems/apps/SDe-ER/card)

About Card

CARD logo

CARD

**Equipment rental and operation cards for ERPNext** إدارة المعدات وكروت التشغيل الشهرية [![CI](https://github.com/SDe-ER/card/actions/workflows/ci.yml/badge.svg)](https://github.com/SDe-ER/card/actions/workflows/ci.yml) ![Release](https://img.shields.io/badge/release-v1.1.0-1F876C) ![In development](https://img.shields.io/badge/v1.2-in%20development-orange) ![Frappe](https://img.shields.io/badge/frappe-v16-blue) ![License](https://img.shields.io/badge/license-MIT-green)
CARD workspace
[Features](#key-features) · [Installation](#installation) · [Development](#development) · [Releases](#release-history) · [Contributing](#contributing)
--- ## What is CARD CARD is a standalone Frappe application for contractors that own and rent heavy equipment. It tracks every machine, assigns it to projects, records daily operating hours on a monthly card, and turns that card into a supplier-ready amount with additions and deductions. CARD follows the same design principles as Frappe HR: one master record per asset (like **Employee**), one transaction per period (like **Salary Slip**), and everything linked to ERPNext's Company, Project and Supplier. ## Key Features
Equipment master - **Card Equipment** with type, category, ownership (owned or rented), owner/supplier and company. - **Card Equipment Type** and **Card Equipment Category** for clean classification. - Standard daily hours per equipment, used to prorate daily rates. Card Equipment
Project assignment - **Card Equipment Assignment** links a machine to a project and site for a period. - Prevents a machine from being double-counted across projects.
Monthly operation card - **Card Monthly Card** per equipment, shift and month, with a day-by-day grid (date, weekday, day status, operating hours, stoppage). - Automatic totals: working days, total operating hours, amount, additions, deductions and **net amount**. - Validations: one card per equipment, shift and month; every day must fall inside the card month. - Owned equipment produces no supplier amount; rented equipment syncs to its supplier on submit. Card Monthly Card
Suppliers and reports - **Card Equipment Supplier** with running balances. - **Equipment Suppliers Summary** and **Equipment Supplier Statement** reports. - Workspace with number cards (rented equipment, draft cards, last month amounts, last month cards) and a monthly amounts chart. Equipment Supplier Statement
Rental directions & the customer side (v1.2 — in development) - Every equipment carries a **rental direction**: rented from a supplier, rented out to a customer, sub-rental (both sides on one card), or internal operation. The form shows only the side that applies. - **Card Equipment Customer** registry mirrors the supplier registry; **Equipment Customer Statement** and **Equipment Customers Summary** read the official receivables only — CARD never keeps a parallel ledger. - Cards are **hours entry only**: equipment, shift, month, year and the driver — everything else (project, company, direction, parties, rates) flows in automatically and sits in a collapsed info section. Rental direction on the equipment Fast monthly card entry
Diesel & transport management (v1.2 — in development) - Per-company diesel litre price; a **diesel supplier policy** (fixed supplier enforced on every fill, or variable behind a permitted role). - Per-project **transport prices** defaulting every Equipment Transport, change-gated by role. - **Equipment Diesel Analysis**: expected litres (from each machine's daily consumption) vs actually allocated litres, with variance per equipment, project and month. Equipment Diesel Analysis
Accounting on official ERPNext documents (v1.2 — in development) - A non-mandatory **Card Equipment accounting dimension** on the GL-bearing ERPNext doctypes: per-equipment General Ledger, Trial Balance, P&L and Balance Sheet with the standard reports — including the depreciation path from linked Assets. - Guard report **Equipment Expenses Without Equipment** catches expense lines that missed the dimension. - Period lock, role model (**Card Manager** / **Card User** / Accounts Manager read), and a per-company settings page keep policies in one place. - **Note:** users running the supplier/customer statement reports also need a standard ERPNext role with read access to Supplier/Customer (e.g. **Accounts User**) — Frappe validates report link-filters against those doctypes, and CARD does not modify ERPNext doctype permissions.
Professional print formats (v1.2 — in development) - RTL Arabic-first print formats for the monthly card, diesel fill and transport — header, logo and company details pulled from the system, applied automatically on print. Monthly card print format
### Billing rule (rate bases) CARD bills by actual operating hours on any of three bases, on both the supplier (cost) and customer (revenue) sides: ``` hourly : hourly_rate = rate daily : hourly_rate = rate / standard_daily_hours monthly : hourly_rate = rate / standard_month_hours (default 260 = 26 days × 10 h) amount = total_operating_hours × hourly_rate net_amount = amount + total_additions − total_deductions ``` Example: daily rate 600, standard day 10 hours, 88 operating hours → 88 × 60 = **5,280**. ## Under the Hood CARD is built on the [Frappe Framework](https://frappeframework.com) and runs alongside these open-source applications: | Dependency | Role | Tested with | |---|---|---| | [Frappe Framework](https://github.com/frappe/frappe) | Full-stack web framework | 16.51.1 | | [ERPNext](https://github.com/frappe/erpnext) | Company, Project, Supplier, accounting | 16.50.0 | | [Frappe HR](https://github.com/frappe/hrms) | Optional, for HR-linked workflows | 16.50.0 | Runtime: Python 3.14, Node.js 24, MariaDB 10.6, Redis. > CARD is an independent product of Shams Dubai Contracting Est. (SDCE). It is not developed, endorsed or maintained by Frappe Technologies. ## Installation ### Bench ```bash cd frappe-bench bench get-app https://github.com/SDe-ER/card --branch main bench --site your-site.local install-app card bench --site your-site.local migrate ``` ### Docker (frappe_docker) Add CARD to your `apps.json` and build a custom image: ```json [ { "url": "https://github.com/frappe/erpnext", "branch": "version-16" }, { "url": "https://github.com/SDe-ER/card", "branch": "main" } ] ``` ```bash docker build \ --build-arg APPS_JSON_BASE64=$(base64 -w 0 apps.json) \ --tag your-registry/erp:card-v1.0.1 \ --file images/custom/Containerfile . ``` Then deploy the image and run: ```bash bench --site your-site.local install-app card bench --site your-site.local migrate ``` ### Upgrading Always take a full backup and run `bench migrate` on a restored copy of production first. CARD ships idempotent patches; a migrate that fails on the copy must never be run on production. ## Development ```bash bench get-app https://github.com/SDe-ER/card --branch main bench new-site card.localhost --install-app erpnext bench --site card.localhost install-app card bench --site card.localhost set-config developer_mode 1 bench start ``` Run the tests: ```bash bench --site card.localhost set-config allow_tests true bench --site card.localhost run-tests --app card ``` Code style is enforced with `pre-commit` (ruff, prettier, semgrep). Commits follow [Conventional Commits](https://www.conventionalcommits.org). ## Release History | Version | Date | Highlights | |---|---|---| | **v1.2.0** | _Unreleased — in development_ | Rental directions on the equipment (hours-only cards), customer registry + statements on official receivables, Card Settings with per-company configuration, diesel supplier policy + per-project transport prices + diesel analysis, three rate bases (hour/day/month), Card Equipment accounting dimension with depreciation support, equipment location transfers with assignment tracking, per-shift hour warnings, fiscal-year back-entry window, professional RTL print formats, Card Manager / Card User roles, period lock. | | **v1.1.0** | 2026-10-14 | English-source i18n with full Arabic translation; Desk connections between equipment, cards, suppliers and projects; workspace and sidebar polish; shift heatmaps. | | **v1.0.1** | 2026-10-13 | Workspace moved to module `Card`; Frappe 16.50 sidebar migrated with all items; legacy `Card (Custom)` module retired; `net_amount` backfilled for cards submitted before v1.0. | | **v1.0.0** | 2026-10-13 | First standalone release: equipment master, assignments, monthly cards, suppliers, reports and workspace. | Full notes: [CHANGELOG.md](CHANGELOG.md) · [Releases](https://github.com/SDe-ER/card/releases) ## Contributing 1. Open an issue describing the bug or feature. 2. Create a branch, add tests, and keep `pre-commit` green. 3. Open a pull request with a Conventional Commits title. See [CONTRIBUTING.md](CONTRIBUTING.md). ## Security Please report vulnerabilities privately to **info@sdce.sa**. Do not open public issues for security reports. See [SECURITY.md](SECURITY.md). ## License MIT © 2026 Shams Dubai Contracting Est. (SDCE). See [LICENSE](LICENSE). ## Logo and Trademark Policy The CARD name and logo belong to SDCE. "Frappe", "ERPNext" and "Frappe HR" are trademarks of Frappe Technologies Pvt. Ltd. and are used here only to describe compatibility, in line with the [ERPNext trademark policy](https://github.com/frappe/erpnext/blob/develop/TRADEMARK_POLICY.md).
Screenshots use fictional demo data.

Related HR & Payroll apps for Frappe & ERPNext

  • Hrms — Open Source HR and Payroll Software
  • Huf — Open-source, self-hosted multi-agent AI infrastructure for teams and apps with support for cloud and local models, tool integrations, workflows, and automation across business systems including Slack, ERPNext, Discord & Gmail.
  • Bookings — Hotel Management App for Erpnext
  • Employee Self Service — This is the backend component for Nesscale ESS - a mobile app that brings ERPNext to your phone. Employees can manage their HR tasks, sales activities, and projects right from their mobile devices.
  • Inventory Tools — A collection of features to streamline and enhance inventory management and manufacturing workflows in ERPNext.
  • Check Run — Payables utility for ERPNext
  • Next Ai — NextAI is an AI-powered app for Frappe and ERPNext, delivering seamless content generation, automation, and productivity enhancements.
  • Projectit — Open Source PWA mobile app to track the Employees out in the field. This mobile app is developed on Frappe Framework and it is integrated with the Project functionalities of ERPNext and integrated tightly with Frappe HR.