---
module: transactions.processing-rules
title: Journal Processing Rules
tab: Testing
order: 35
audience: dev
---

Frontend test checklist for **Journal Processing Rules** (Transactions app › Settings, `transactions.bcos.dev`). Click through in the UI and mark each row Pass or Fail.

## Set up
Log in at **transactions.bcos.dev** — test accounts (all password `Passw0rd-d3v!`):

| Login | Role | Can edit rules? |
|-------|------|-----------------|
| `bcos_a@bcos.dev` | Admin | Yes |
| `msp_a@msp1.bcos.dev` | MSP admin | Yes |
| `customer_a@customer1.bcos.dev` | Customer | No — read-only |

This screen is **global config** — the rules apply to the whole fleet, so there is no device picker or institution filter here. Open it from the sidebar: **Settings → Journal Processing Rules**. (Sim devices like `C1-ATM-001` are only needed if you want to sanity-check a rule's effect afterwards in the Transactions browser.)

## What to test

| # | Do this | ✅ Pass if |
|---|---------|-----------|
| 1 | As `bcos_a`, open **Settings → Journal Processing Rules** | Page loads with two panels — **Transaction Types** and **System Events** — each showing existing rows |
| 2 | In Transaction Types, click **+ Add Type**, enter Type Name `TEST_WD`, click **Add** | New `TEST_WD` row appears at the bottom of the list and a **"You have unsaved changes"** bar shows |
| 3 | Click **Save & Apply** | A green **"Saved and applied (v…)"** message appears and the unsaved-changes bar goes away |
| 4 | On any row click **Edit**, change a field, click **Save** | The row updates in place and the unsaved-changes bar returns |
| 5 | Use the **↑ / ↓** arrows to move a row | The row swaps position and the Order numbers renumber; the top row's **↑** and the bottom row's **↓** are greyed out (disabled) |
| 6 | Click **Delete** on the `TEST_WD` row you added | The row disappears and the unsaved-changes bar shows |
| 7 | In System Events, click **+ Add Event**, type a Pattern, pick an **Event Type** from the dropdown, click **Add** | New row appears showing your pattern and a coloured event-type badge |
| 8 | Make one more edit, then click **Reload** (do not Save) | Your unsaved edit is discarded and the last-saved rules reload |
| 9 | Log in as `customer_a`, open the same screen | The rules **do not load** (error message or empty grid) — a read-only customer cannot view or change rules; no Save takes effect |

**Report a fail with:** the row #, which login you used, and what you actually saw.
