የSmartERP መመሪያ የAshewa Technology Solutions መድረክ
ይህ ገጽ ገና ወደ አማርኛ አልተተረጎመም። የእንግሊዝኛው ጽሑፍ ቀርቧል።

Petty cash management

Operations of Fixed Imprest Funds, custodian spending limits, maker-checker governance, physical cash drawer denomination audits, and replenishment cycles.

SmartERP Petty Cash Management (custom_petty_cash and smarterp_approval_petty_cash) provides strict governance over petty cash disbursements, imprest floats, cash drawer audits, and fund replenishment.

Petty Cash Fund Ledger & Custodian Balances

Fixed Imprest Fund Principles#

Under the fixed imprest system, each department or branch is allocated a fixed cash float. The custodian is personally accountable for the physical currency plus valid disbursement vouchers:

$$ ext{Fixed Float Amount} = ext{Physical Cash in Drawer} + \sum ext{Paid Unreplenished Vouchers}$$

SmartERP enforces this equation through real-time computed balances:

$$ ext{current_balance} = ext{float_amount} - \sum_{ ext{state} = ext{'paid'}} ext{voucher.amount}$$

Petty Cash Payment Voucher Detailed Form View

Petty Cash Fund Architecture#

Funds are configured under Accounting → Configuration → Petty Cash Funds (petty.cash.fund):

Field NameTechnical IdentifierType & RequirementBusiness Logic / Validation Rule
Fund NamenameChar (Required)Descriptive title, e.g., "Head Office Operating Imprest Fund".
Custodiancustodian_idMany2one res.users (Required)The designated employee held legally liable for cash counts and vouchers.
Departmentdepartment_idMany2one hr.departmentAssigned department responsible for operational expenses.
Petty Cash Journaljournal_idMany2one account.journal (Required)Must be an active journal of type cash linked to petty cash GL account 111150.
Float Amountfloat_amountMonetary (Required, Tracked)Authorized ceiling of the fund (e.g. ETB 50,000.00).
Current Balancecurrent_balanceMonetary (Computed, Stored)Real-time available cash calculated from paid vouchers.
Fund StatusstateSelection (Tracked)States: draft → active → closed. Vouchers can only be drawn against active funds.

Step-by-Step Procedure: Raising and Settling a Voucher#

Every minor operational expenditure (courier, office supplies, emergency maintenance) follows a rigorous maker-checker flow:

+----------------------------------------------------------------------------------------------------+
|                              PETTY CASH VOUCHER GOVERNANCE LIFECYCLE                               |
+----------------------------------------------------------------------------------------------------+
|                                                                                                    |
|  [Step 1: Draft Creation] -------------------> Custodian enters Beneficiary, Purpose, Amount       |
|           |                                    Defines Accounting Distribution (Debit Expense)     |
|           v                                                                                        |
|  [Step 2: Action Check] ---------------------> Verified by Supervisor / Reviewer                   |
|           |                                    MAKER-CHECKER RULE: checked_by_id != prepared_by_id |
|           v                                                                                        |
|  [Step 3: Action Approve] -------------------> Department Head / Finance Manager Approval          |
|           |                                    GATED APPROVAL: Requires SmartERP Approval (PCV)     |
|           v                                                                                        |
|  [Step 4: Action Post / Pay] ----------------> Cashier disburses physical currency                 |
|           |                                    Creates & Posts General Ledger Journal Entry        |
|           v                                                                                        |
|  [Audit & Replenishment] --------------------> Physical cash drawer count + Imprest top-up         |
+----------------------------------------------------------------------------------------------------+

1. Draft Voucher Creation#

  1. Navigate to Accounting → Petty Cash → Vouchers and click New.
  2. Select the Petty Cash Fund. The currency and journal default automatically.
  3. In Paid To (paid_to_id), select the partner or employee receiving cash.
  4. Enter the In Settlement Of (Reason) explaining the expenditure.
  5. In the Accounting Lines (line_ids) grid, specify the debit GL account:
    • Example: Debit Office Supplies Expense (611200) ETB 1,450.00.
  6. The system computes amount_in_words automatically.

2. Maker-Checker Segregation Rule#

The user who prepared the voucher cannot check or approve it. The platform enforces this constraint in addons/smarterp_approval_petty_cash:

def action_check(self):
    for voucher in self:
        if voucher.prepared_by_id and voucher.prepared_by_id == self.env.user:
            raise UserError(_(
                "%s prepared this voucher and cannot also check it - maker and checker "
                "must be different people."
            ) % voucher.prepared_by_id.display_name)
    return super().action_check()

3. Integrated Approval Gate (GATE_CODE = 'PCV')#

When expenditure exceeds basic operational thresholds, clicking Approve or Post triggers an automatic gate check:

  • If a formal approval request is active, the voucher remains locked until the request reaches approved state in smarterp.approval.request.
  • Attempting to bypass the UI by updating state = 'paid' via RPC or automated scripts is blocked by model-level write constraints.

4. Cash Disbursement & Automatic GL Posting#

Clicking Pay / Post (action_post) commits the transaction:

  • Debit: Expense Account (e.g. 611200 Office Supplies)
  • Credit: Petty Cash Ledger Account (111150 Head Office Imprest Cash)
  • Sets voucher.state = 'paid' and records cashier_id.
  • Reduces current_balance on the linked fund.

Warning

Unlinking (deleting) a petty cash voucher that has left draft state is strictly prohibited by system constraints to preserve an uncompromised audit trail. If a mistake occurs, cancel the voucher (action_cancel).


+----------------------------------------------------------------------------------------------------+
| አሸዋ ቴክኖሎጂ ሶሉሽንስ አ.ማ                                             ቀን / Date: 2026-10-15          |
| ASHEWA TECHNOLOGY SOLUTION S.C.                                   Voucher No: PCV-2026-00318       |
| Mob. +251 94 345 1226 / Addis Ababa, Ethiopia                                                      |
+----------------------------------------------------------------------------------------------------+
|                         አነስተኛ የጥሬ ገንዘብ ክፍያ ሰነድ / PETTY CASH PAYMENT VOUCHER                         |
+----------------------------------------------------------------------------------------------------+
| የከፋይ ስም / Paid To: Abebe Kebede (Maintenance Contractor)                                         |
| የገንዘብ መጠን በፊደል / Amount in Words: One Thousand Eight Hundred Fifty Birr Only                    |
| በቁጥር / In Figure: [ ETB 1,850.00 ]                                                               |
| ክፍያው የተፈጸመበት ምክንያት / In Settlement Of: Emergency Data Center Cooling Unit Repair                |
+----------------------------------------------------------------------------------------------------+
| ያዘጋጀው / Prepared By         | ያረጋገጠው / Checked By          | ያፀደቀው / Approved By                 |
| Sara Tadesse (Custodian)     | Michael Bekele (Audit)        | Dawit Haile (Finance Mgr)           |
+------------------------------+-------------------------------+-------------------------------------+
| የተቀባይ ሙሉ ስም / Receipt Name: Abebe Kebede              ፊርማ / Signature: _______________________ |
| የገንዘብ ያዥ ስም / Cashier Name: Tigist Girma                 ፊርማ / Signature: _______________________ |
+----------------------------------------------------------------------------------------------------+
| የሂሳብ ቁጥር / Account Number          | ዴቢት / Debit (ETB)           | ክሬዲት / Credit (ETB)                 |
+--------------------------------------+-------------------------------+-------------------------------------+
| 611400 Equipment Repair & Maint.     |                      1,850.00 |                                0.00 |
| 111150 Head Office Imprest Fund      |                          0.00 |                            1,850.00 |
+--------------------------------------+-------------------------------+-------------------------------------+
| Distribution: Original: Customer / Payer  |  2nd Copy: Accountant  |  3rd Copy: Pad                |
+----------------------------------------------------------------------------------------------------+

Daily Cash Drawer Audit and Denomination Worksheet#

At the close of business every day, the custodian and internal auditor perform a physical denomination count using the standardized denomination schedule:

+----------------------------------------------------------------------------------------------------+
|                               CASH DRAWER PHYSICAL DENOMINATION AUDIT                              |
+-------------------------+----------------------+--------------------+------------------------------+
| Currency Denomination   | Physical Bill Count  | Subtotal (ETB)     | Audit Notes                  |
+-------------------------+----------------------+--------------------+------------------------------+
| ETB 200 Note            |         120          |          24,000.00 | High-denomination safe stack |
| ETB 100 Note            |         145          |          14,500.00 | Working operational drawer   |
| ETB 50 Note             |          64          |           3,200.00 | Small change drawer          |
| ETB 10 Note             |          80          |             800.00 | Small change drawer          |
| ETB 5 Note              |          50          |             250.00 | Small change drawer          |
| ETB 1 Coin              |          75          |              75.00 | Coin tray                    |
+-------------------------+----------------------+--------------------+------------------------------+
| TOTAL PHYSICAL CASH:    |                      | [ ETB 42,825.00 ]  | (A) Actual Physical Currency |
| TOTAL PAID VOUCHERS:    | 12 Vouchers on Pad   | [ ETB  7,175.00 ]  | (B) Paid Vouchers in Drawer  |
+-------------------------+----------------------+--------------------+------------------------------+
| TOTAL ACCOUNTED (A + B):|                      |   ETB 50,000.00    | MUST EQUAL FLOAT AMOUNT      |
| AUTHORIZED FLOAT:       |                      |   ETB 50,000.00    |                              |
| AUDIT VARIANCE:         |                      | [   ETB    0.00 ]  | Balanced (Zero Discrepancy)  |
+-------------------------+----------------------+--------------------+------------------------------+

Resolving Audit Discrepancies#

  • Cash Shortage: If physical cash + vouchers < float, a shortage entry is recorded:
    • Debit: Receivables from Employees - Cashier Shortage (112950)
    • Credit: Petty Cash Fund (111150)
  • Cash Surplus: If physical cash + vouchers > float, the surplus is recognized:
    • Debit: Petty Cash Fund (111150)
    • Credit: Miscellaneous Non-Operating Income (421900)

Fund Replenishment Lifecycle#

When a fund's current_balance drops below its replenishment trigger (typically 25% of float, e.g., ETB 12,500.00):

  1. The custodian opens Accounting → Petty Cash → Summary Wizard (petty.cash.summary.wizard).
  2. The wizard compiles all paid vouchers since the last replenishment date.
  3. The Finance Controller reviews the attached fiscal receipts and approves the replenishment batch.
  4. A Bank Payment Voucher (BPV) or Cheque Payment Voucher (CPV) is issued from the main corporate bank account:
    • Debit: Petty Cash Imprest Account (111150) ETB 37,500.00
    • Credit: Corporate Bank Account (111200) ETB 37,500.00
  5. The custodian cashes the cheque, restores physical currency in the drawer to ETB 50,000.00, and archives the paid voucher batch into the completed audit folder.
መጨረሻ የተሻሻለው: 2026-10-16