Built by Emmanuel Tsimese
TFV
Budget Monitoring Tool
Sign in to continue
Username
Password
{{ loginError }}
Sign in
No account yet? Request access →
TFV
Request access
Finance reviews every request. Once approved, the system emails you a password to sign in with — you set nothing here.
Full name
Work email
Position / role
Programme / unit
What do you need to do?
{{ w.tick }}
{{ w.title }} {{ w.sub }}
Why do you need access?
Submit request
Already have an account? Sign in
TFV
{{ p.label }}
FY
⌕ Search activities, POs, travellers…
{{ unread }}
{{ userAvEmojiChar }}
{{ userInitials }}
{{ userName }}
{{ userTitle }}
{{ t.label }}
{{ reqListTitle }}
{{ reqListSub }}
+ New budget request
Requested
{{ myTotal }}
Approved
{{ myApproved }}
Awaiting decision
{{ myPending }}
Activities
{{ myCount }}
CODE
ACTIVITY
PROGRAMME
TOTAL (€)
STATUS
OBLIGATION BY
{{ r.code }}
{{ r.name }}
{{ r.programme }}
{{ r.total }}
{{ r.status }}
{{ r.deadline }}
Read-only view — the full original request as submitted. Nothing here can be changed.
← Back to Approval Console
{{ formTitle }}
{{ formSub }}
Activity Code is generated automatically as YY-PROG-NN-MMM · {{ formCodePreview }}
Modifying {{ modifyCode }} — existing budget lines are loaded exactly as they are in the logs. Submitting returns the activity to the ED as Under Revision. A reason is required below.
ACTIVITY DETAILS
Year *
Quarter *
Programme *
Activity Type *
Activity Name *
Requestor *
Location *
Date Requested *
Obligation By *
Activity Start *
Activity End
Justification *
Notes
Reason for Modification *
Requestor, Location and every line dropdown pull from the central lists — new options are added in Admin → Dropdowns and appear here instantly.
{{ s.title }}
{{ s.sub }}
{{ s.subtotalLabel }} {{ s.total }}
+ Add line
{{ h }}
{{ c.v }}
{{ c.v }}
×
No {{ s.short }} lines — add one if this activity needs them.
MOD SUBTOTAL {{ totMOD }}
PO SUBTOTAL {{ totPO }}
TRAVEL SUBTOTAL {{ totTRV }}
ACTIVITY TOTAL {{ totALL }}
Cancel
Save as draft
{{ submitLabel }}
{{ formError }}
Modify a previous request
Pick the activity — its lines load into the form exactly as they are in the logs. Submitting sends it back to the ED as Under Revision.
{{ m.code }}
{{ m.name }}
{{ m.programme }}
{{ m.total }}
{{ m.status }}
Load →
{{ detBackLabel }}
{{ detCode }}
{{ detStatus }}
{{ detName }}
{{ detMeta }}
Modify this request
BUDGET SUMMARY
{{ s.label }}
{{ s.value }}
BUDGET LINES ({{ detLineCount }})
SOURCE
DESCRIPTION
VENDOR / ROUTE
QUARTER
EUR
{{ l.src }}
{{ l.desc }}
{{ l.vendor }}
{{ l.quarter }}
{{ l.eur }}
JUSTIFICATION
{{ detJust }}
STATUS TIMELINE
{{ t.icon }}
{{ t.title }}
{{ t.sub }}
DISCUSSION
{{ c.initials }}
{{ c.by }} · {{ c.when }}
{{ c.text }}
No questions yet.
Send
Replies notify the other side by email — questions instead of rejections.
{{ t.label }}
Viewing FY {{ fyV }} — change it here or in the header; it applies to every tab
Budget Dashboard
Every figure is approved-only and reconciled to the cent across all seven data sources
YEAR
{{ k.label }}
{{ k.value }}
{{ k.sub }}
Approved by programme — projected split into MOD · PO · Travel, with obligated, actual and implementation rate
{{ h.label }}
{{ r.name }}
{{ c.v }}
TOTAL
{{ c.v }}
By funding source — how much the ED has approved from each fund
FUNDING SOURCE
APPROVED (€)
OBLIGATED (€)
RATE
{{ f.name }}
{{ f.proj }}
{{ f.obl }}
{{ f.rate }}
Risk alerts
⚙ Customize
{{ a.text }}
Approved budget breakdown by activity type
ACTIVITY TYPE
# ACT
TOTAL PROJ (€)
AVG / ACT (€)
SHARE OF APPROVED
%
{{ t.type }}
{{ t.n }}
{{ t.tot }}
{{ t.avg }}
{{ t.pct }}
Top 10 activities by projected value — FY {{ fyV }}
#
CODE
ACTIVITY NAME
PROG
TYPE
FUNDING
PROJECTED (€)
QUARTER · STATUS
% APPR
{{ t.rank }}
{{ t.code }}
{{ t.name }}
{{ t.programme }}
{{ t.type }}
{{ t.funding }}
{{ t.total }}
{{ t.quarter }} · {{ t.status }}
{{ t.share }}
Consolidated CC1000 — Regular Budget Commitment Items by Quarter
Quarterly Projected / Obligated / Actual pull live from the MOD, PO and Travel logs + Consultants, Contractors and Training & RSM registers. Each line is routed to a commitment item by the Category → Commitment-Item map (managed in Admin → Dropdowns & FY). CC1000 funding only.
▾ STATUS ▾ PERIOD
{{ t.label }}
tick ✓ the quarters to include in the totals ▾ FUNDING CC1000 ▾ YEAR
PROJECTED (€)
{{ ccKpiProj }}
OBLIGATED (€)
{{ ccKpiObl }}
ACTUAL (€)
{{ ccKpiAct }}
TOTAL APPROPRIATION (€)
{{ ccApTotal }}
AMOUNT REMAINING (€)
{{ ccRemTotal }}
{{ h.label }}
{{ r.item }}
{{ c.v }}
{{ c.v }}
IMPLEMENTATION RATE BY QUARTER · Obligated · Projected
QUARTER
PROJECTED (€)
OBLIGATED (€)
ACTUAL (€)
OBLIG RATE
ACTUAL RATE
VAR O−P (€)
VAR A−O (€)
{{ r.q }}
{{ r.p }}
{{ r.o }}
{{ r.a }}
{{ r.or }}
{{ r.ar }}
{{ r.v1 }}
{{ r.v2 }}
APPROPRIATION INPUT · FY {{ fyV }} — one set per year, multi-year
Switch the year to enter next year's appropriation. The Appropriation column above reads from here.
{{ a.item }}
CATEGORY → COMMITMENT-ITEM MAP · for reference
Which line categories feed each commitment item (edit in Admin → Dropdowns & FY). Every Travel-log line always maps to 4100 Travel.
{{ c.item }}
{{ c.cats }}
Dimmed quarters are excluded from the totals · the Mapped Categories column shows exactly which line categories feed each commitment item · these figures reproduce the Excel sheet under identical filters.
Consolidated Funding Source — how much is left from each fund
The same quarterly Projected / Obligated / Actual as CC1000, but grouped by funding source across ALL sources — enter each fund's appropriation and the tool shows exactly what remains. Every funding source appears; new ones are picked up automatically.
▾ STATUS ▾ PERIOD
{{ t.label }}
tick ✓ the quarters to include in the totals ▾ PROGRAMME ▾ YEAR
PROJECTED (€)
{{ fcsKpiProj }}
OBLIGATED (€)
{{ fcsKpiObl }}
ACTUAL (€)
{{ fcsKpiAct }}
TOTAL APPROPRIATION (€)
{{ fcsApTotal }}
AMOUNT REMAINING (€)
{{ fcsRemTotal }}
{{ h.label }}
{{ r.item }}
{{ c.v }}
IMPLEMENTATION RATE BY QUARTER · under the same filters
QUARTER
PROJECTED (€)
OBLIGATED (€)
ACTUAL (€)
OBLIG RATE
ACTUAL RATE
{{ r.q }}
{{ r.p }}
{{ r.o }}
{{ r.a }}
{{ r.or }}
{{ r.ar }}
APPROPRIATION INPUT · FY {{ fyV }} — one set per year, multi-year
Enter how much each fund holds this year. Remaining = appropriation − projected.
{{ a.item }}
Forecast Consolidated — Quarterly View by Programme
Pulls live from MOD / PO / Travel logs + registers · every programme in the central list is shown — new programmes appear automatically
▾ STATUS ▾ PERIOD
{{ t.label }}
▾ FUNDING SOURCE FILTER ▾ YEAR FILTER
{{ h.label }}
{{ r.programme }}
{{ c.v }}
IMPLEMENTATION RATE BY QUARTER · under the same filters
QUARTER
PROJECTED (€)
OBLIGATED (€)
ACTUAL (€)
OBLIG RATE
ACTUAL RATE
{{ r.q }}
{{ r.p }}
{{ r.o }}
{{ r.a }}
{{ r.or }}
{{ r.ar }}
Drill-Down
"What exactly accounts for this figure?" — every underlying line from all seven sources
{{ t.label }}
YEAR
LINES
{{ ddCount }}
PROJECTED
{{ ddProj }}
OBLIGATED
{{ ddObl }}
ACTUAL
{{ ddAct }}
SRC
CODE
DESCRIPTION
PROG
QUARTER
STATUS
PROJECTED
{{ l.src }}
{{ l.code }}
{{ l.desc }}
{{ l.programme }}
{{ l.quarter }}
{{ l.status }}
{{ l.eur }}
Showing the 120 largest lines — narrow the filters to see everything.
These lines reproduce the Consolidated CC1000 figure under identical filters — to the cent.
Pivot Playground — dynamic 2-dimensional analysis
Total Projected (€) across ALL seven sources — MOD, PO, Travel, Direct POs, Consultants, Contractors and Training & RSM. Every value of each dimension is shown, even at zero, and the heat map highlights where the money concentrates.
▾ ROWS ▾ COLUMNS ▾ STATUS ▾ YEAR
less more
{{ pvRowV }} ↓ · {{ pvColV }} →
{{ h }}
ROW TOTAL
{{ r.label }}
{{ c.v }}
{{ r.total }}
COL TOTAL
{{ c }}
{{ pvGrand }}
Darker cells carry more money. Pulls from all seven sheets for FY {{ fyV }} under the chosen status. Change rows, columns, status or year to rebuild. · = no data.
MOD Cash Advances — Country-Office Reconciliation
Cash advanced to programme offices as a sanctions contingency, reconciled live against the MOD Log
YEAR
+ Record new advance
{{ k.label }}
{{ k.value }}
{{ h.label }}
{{ c.v }}
{{ c.v }}
{{ c.v }}
RULE: only MOD lines whose activity obligation date is on/after the Advance Date draw from the safe — earlier ones use the regular budget. Physically Out = the approved activity has already started (cash used). Committed = approved but not yet started (reserved, still in safe). Uncommitted = Advance − all approved claims (free cash). Total in Safe = Committed + Uncommitted = Advance − Out. Draft Pipeline = draft/submitted MOD demand (obligation ≥ Advance Date) that would commit cash once approved. Earmark Code: tie an advance to ONE activity by its code — that row then tracks only that activity and ignores the date rule. Click a Used For cell to see every line the cash covered.
{{ t.label }}
Pending Decisions — activities awaiting ED approval
Every draft, submitted and re-submitted activity, sorted with the most urgent at the top. Click a row to open it in the Approval Console.
ACTIVITIES PENDING DECISION
{{ pendCount }}
TOTAL PROJECTED VALUE (€)
{{ pendTotal }}
EARLIEST OBLIGATION DEADLINE
{{ pendEarliest }}
OF WHICH DRAFTS
{{ pendDrafts }}
The queue is clear — nothing awaits a decision. ✓
#
ACTIVITY CODE
PROGRAMME
ACTIVITY NAME
REQUESTOR
TOTAL (€)
DATE REQUESTED
DAYS OPEN
OBLIGATION BY
STATUS
{{ r.n }}
{{ r.code }}
{{ r.programme }}
{{ r.name }}
{{ r.requestor }}
{{ r.total }}
{{ r.dateReq }}
{{ r.days }}
{{ r.by }}
{{ r.status }}
Open in Console →
RED: obligation deadline already passed AMBER: deadline within {{ urgDays }} days Drafts appear here so the ED can see what is coming
Approval Console — single-activity review
Decisions are written back to the Activity Register status column instantly.
🔍 SELECT ACTIVITY
ACTIVITY DETAILS
View original request ↗
{{ conStatus }}
{{ f.label }}{{ f.v }}
JUSTIFICATION & NOTES
{{ conJust }}
Notes: {{ conNotes }}
BUDGET SUMMARY
COMPONENT
PROJECTED (€)
OBLIGATED (€)
ACTUAL (€)
VARIANCE (€)
{{ s.label }}
{{ s.p }}
{{ s.o }}
{{ s.a }}
{{ s.v }}
{{ t.title }}
{{ t.sub }}
{{ h }}
{{ c.v }}
No lines of this type.
✍ EXECUTIVE DIRECTOR DECISION
Current status: {{ conStatus }}
{{ o.label }}
Written back to the Activity Register instantly · requestor notified by email · audit-logged
Apply decision
You can review this request, but only the Executive Director can decide.
STATUS TIMELINE
{{ t.icon }}
{{ t.title }}
{{ t.sub }}
💬 DISCUSSION
{{ c.initials }}
{{ c.by }} · {{ c.when }}
{{ c.text }}
No questions yet — ask instead of rejecting.
Send
Pick an activity above to review its full budget request.
Data Entry
Each sheet mirrors the Excel workbook column-for-column · edits save instantly and roll up to every dashboard
{{ t.label }}
{{ deSheetTitle }}
{{ deSheetSub }}
{{ k.label }}
{{ k.value }}
YEAR
+ Add line
{{ deShowing }}
{{ h.label }}
{{ c.v }}
Show more lines ↓
{{ deNote }}
Activity Register — master list of all budget activities
Auto-syncs from submissions and decisions · feeds the Dashboard, Approval Console and Pivot Playground · original Excel columns
{{ k.label }}
{{ k.value }}
{{ h.label }}
{{ c.v }}
{{ c.v }}
Show more activities ↓
Read-only — the register is written by the submission form and the Approval Console. Click a row to open it in the console.
Dropdowns — central management of every list in the tool
Add an option here and it is picked up instantly by every form, filter, dashboard and pivot — exactly like the Excel Dropdowns sheet, without the blank-row rules.
Fiscal Year
ACTIVE YEAR
Open FY {{ nextFyLabel }} →
Moving to the next year: click "Open FY {{ nextFyLabel }}". It adds the year to every year dropdown, creates a fresh appropriation set, and makes it the default year everyone lands on.
Nothing is deleted or copied. Every activity and log line carries its own year — switch the FY selector on any tab to look back at {{ fyActiveV }} or any earlier year, and all dashboards recalculate.
Multi-year registers (Consultants, Contractors, Training & RSM) keep flowing — their rows are picked up by whichever year they belong to.
FUNDING SOURCE ARCHITECTURE
CC1000Regular budget — the only source that feeds Consolidated CC1000 and counts against the appropriation.
CC2000 – donorEarmarked contributions, one entry per donor stream. Rolled up by "All CC2000" in every filter.
AUTOAdd a source in the card below and it immediately appears in: request-form Funding column, Forecast & Drill-Down filters, Pivot dimension, Dashboard breakdown, MOD Advances. The "All" and "All CC2000" filter entries are derived — never edited.
{{ fundArchStat }}
Category → Commitment-Item map
This is what drives Consolidated CC1000: every MOD / PO / Direct-PO line is routed to a commitment item by its category. Re-map any category, or add a new one — the dashboards update instantly. Future-proof: new categories map to any commitment item.
{{ m.cat }}
{{ m.lines }} lines
×
ADD MAPPING:
Add
Registers route by fixed rule: {{ rr.src }} → {{ rr.item }} ·
{{ k.title }}
{{ k.count }}
{{ k.note }}
{{ c.label }}{{ c.sub }}×
Add
Users & Access
Grant access down to the individual tab · every change is audit-logged · users travel inside every export snapshot
{{ invBtnLabel }}
Who's online — live presence & last-seen
{{ onlineCount }} of {{ totalUsers }} online now
{{ p.avEmojiChar }}
{{ p.initials }}
{{ p.name }}
{{ p.status }}
Create account
Choose exactly what this person can see. Either send a set-password link (they choose their own) or hand them a temporary password to change at first sign-in.
Full name
Email (their login)
Title / role
Password
User sets it
Temp password
QUICK PRESET:
{{ p.label }}
{{ g.title }}
{{ i.tick }}
{{ i.label }}
✉ Credentials are emailed to the user · this account is included in every export snapshot
Create account & send credentials
{{ r.initials }}
{{ r.name }} · {{ r.pos }} · wants: {{ r.wants }}
{{ r.email }}
"{{ r.why }}"
Deny
Approve
{{ x.initials }}
{{ x.name }}
{{ x.title }}
{{ x.superBadge }}
{{ c.label }}
{{ x.lastActive }}
{{ x.statusChip }}
{{ x.chev }}
{{ x.suTick }}
Super user — full access to everything
Sees and can modify every person's requests, approves decisions, and reaches every admin tab. Overrides the individual tabs below.
PRESET:
{{ p.label }}
{{ g.title }}
{{ i.tick }}
{{ i.label }}
↻ Send password-reset link
You can't deactivate your own account
⦸ {{ x.activeLabel }}
{{ usersNote }}
Data & Migration
Export everything, upgrade the theme, import back — as if nothing changed.
Export snapshot
schema v1.0.0
One portable .json — the exact format this prototype runs on. Downloads for real.
{{ m.label }}{{ m.v }}
Integrity: checksum embedded · re-verified on import
↓ Export full snapshot (.json)
Import snapshot
Nothing touches the database until validation passes and you confirm.
{{ importFileName }}
{{ importFileSize }} · validated ✓
{{ c.icon }}
{{ c.text }}
Cancel
Import — 0 destructive changes
Safety net: a backup snapshot is taken automatically before any import — and nightly, kept 30 days.
↺ Reset demo data to the v7.8 master
Audit Log
Every submission, decision, edit and permission change ({{ auditCount }} events)
TIMESTAMP
CODE
ACTION
CHANGE
BY
{{ r.ts }}
{{ r.code }}
{{ r.action }}
{{ r.change }}
{{ r.by }}
Emails & notifications
Every automatic email is fully editable — rewrite the wording and choose exactly who is on To and CC, from your registered users. Turn any rule on or off.
Placeholders you can use in the subject and body: {{ emailTokens }} — they are filled in automatically when the email is sent.
Sending mode
{{ emailModeHint }}
Production
Test mode
Test mode is on. Every email — approvals, resets, and all rules below — is redirected to {{ emailTestTo }} (subject prefixed [TEST]), so nothing reaches real recipients. Switch to Production to send normally.
{{ r.event }}
To: {{ r.toSummary }} · cc: {{ r.ccSummary }}
↳ {{ r.auto }}
{{ r.chev }}
Subject
Body
To — recipients
{{ c.name }}
CC — copied in
{{ c.name }}
Tap a name to add or remove them. Changes save instantly and are audit-logged.
LIVE PREVIEW — how this email looks when it goes out
TFV
To: {{ r.pv.to }} · From: TFV Budget Monitoring Tool
{{ r.pv.subject }}
{{ ln }}
{{ fld.k }}{{ fld.v }}
{{ r.pv.cta }}
You receive this from the TFV Budget Monitoring Tool. Manage notification rules in Admin → Emails.
Built by Emmanuel Tsimese.
These rules and their wording are stored with the tool and included in every export snapshot.
ESC
Type at least 2 characters — searches codes, names, vendors, travellers across all 7 sources.
Nothing found. Try a code fragment like "CAR" or a traveller's name.
{{ r.kind }}
{{ r.title }}
{{ r.sub }}
Open →
Notifications
Mark all read
Nothing yet — you'll see submissions, decisions and questions here (and by email).
{{ n.icon }}
{{ n.text }}
{{ n.sub }}
{{ advDetTitle }}
{{ advDetSub }}
Close
PHYSICALLY OUT
{{ advDetOut }}
COMMITTED · IN SAFE
{{ advDetCom }}
DRAFT PIPELINE
{{ advDetDraft }}
No approved MOD lines draw on this advance under the current rule.
{{ l.desc }}
{{ l.code }}
{{ l.state }}
{{ l.proj }}
Customize risk alerts
Choose which risks appear on the dashboard — saved for everyone
Done
{{ r.tick }}
{{ r.label }}
{{ toastTitle }}
{{ toastSub }}