This document specifies Buku Keuangan DKC 1202, a web application that serves as the financial ledger (buku keuangan) for DKC 1202, a regional scout/DKC unit council. The product exists so that the organisation's money — every rupiah received and every rupiah spent — is recorded once, correctly, and can be reviewed at any time by the people accountable for it.
The audience is internal to the organisation. The Bendahara DKC 1202 (treasurer) is the person who records income and expense transactions and keeps the running balance accurate and current. The Pengurus DKC 1202 (board officers) are the people who need a concise, trustworthy picture of the organisation's financial condition — total income, total expense, and balance — as the basis for organisational decisions. Both are volunteers handling money they must answer for to a board, so the product's intent is not lifestyle convenience but unimpeachable record-keeping: legible, coded, and impossible to misread.
The reference landing page supplied by the user (https://fantastic-chimera-fdc35a.netlify.app/) is treated strictly as visual inspiration — a shape-of-the-work reference (single-column stack, bold title header, icon-and-label horizontal navigation, plain labelled forms with paired Batal / Simpan buttons). It is not a specification of the Buku Keuangan DKC 1202 product, and none of its content, names, or facts are carried into this product.
Buku Keuangan DKC 1202 is a first-party web application with a custom user interface and application-owned identity. It delivers:
Durable financial state is required: transactions, their amounts, and the resulting balance must persist and be resumable across sessions by the correct participant.
Actors. Two accepted human personas — Bendahara DKC 1202 and Pengurus DKC 1202 — plus the application itself as the system actor that stores records, computes totals, and enforces role-specific control.
Narrow exclusions. This document does not add budgeting, forecasting, payroll, invoicing, multi-organisation tenancy, bank or payment-provider integration, receipt OCR, or any adjacent finance capability. The reference URL supplies visual inspiration only and contributes no product content, names, or features.
The product is delivered as a first-party web application with its own custom interface and its own application-owned identity. Access is owned by the application, not by an external provider: a person establishes identity on first use through self-service enrollment, and returns through verification. The Landing page is the only anonymously reachable surface; every surface that shows or changes DKC 1202 financial state requires an established identity, and the recording surfaces additionally require the recording role.
The current delivery horizon covers the Landing entry, identity establishment and returning verification, the financial summary, the transaction history, and the recording of income and expense transactions. Nothing in this document is deferred to a future horizon; there is no accepted future-phase requirement in the authoritative thread. Where a mechanic is marked required_inference, it exists only because an accepted outcome cannot be reached without it — it is not an invitation to add adjacent capability.
Not applicable. The only supplied reference is declared visual_inspiration with inspiration_only authority and is explicitly not a specification of this product; it therefore contributes no content-source facts to inventory.
The page inventory below is the final ordered page contract: Landing, Sign Up, Login, Dashboard, Transactions, Income, Expenses. Each page appears exactly once.
FR-01 — Anonymous entry to the ledger application [explicit]
As a visitor, I should see a Landing page that names BUKU KEUANGAN DKC 1202 and explains in one sentence that it is the financial ledger for DKC 1202, so that I understand what the application is before any protected work.
FR-02 — First-use enrollment [required_inference]
As a Bendahara DKC 1202 or Pengurus DKC 1202, I should establish my own identity on first use and indicate whether I record transactions or review summaries, so that the DKC 1202 records I create or read remain bound to me and resumable.
FR-03 — Returning verification [required_inference]
As a Bendahara DKC 1202 or Pengurus DKC 1202, I should verify my identity on return, so that the durable DKC 1202 financial records are protected and I resume exactly the state my role permits.
FR-04 — Role-specific control over recording and review [required_inference]
As the system, I should enforce that the Bendahara DKC 1202 can record and manage transactions while the Pengurus DKC 1202 can review financial summaries, so that recording authority and review authority are not the same act.
FR-05 — Record an income transaction [explicit]
As a Bendahara DKC 1202, I should record an income transaction with its date, description, and amount, so that every rupiah received by DKC 1202 is in the books.
FR-06 — Record an expense transaction [explicit]
As a Bendahara DKC 1202, I should record an expense transaction with its date, description, and amount, so that every rupiah spent by DKC 1202 is in the books.
FR-07 — Revisit the recorded transaction history [explicit]
As a Bendahara DKC 1202, I should read the recorded transactions of DKC 1202 as a revisitable history, so that I can confirm what has been entered and when.
FR-08 — See the balance and financial summary [explicit]
As a Bendahara DKC 1202 or Pengurus DKC 1202, I should see the balance and a summary of DKC 1202's financial condition — total income, total expense, and the resulting balance — so that I know where the organisation stands.
FR-09 — Review the summary as a basis for decisions [explicit]
As a Pengurus DKC 1202, I should review the income, expense, and balance figures without being able to alter the records, so that my organisational decisions rest on figures the treasurer alone maintains.
FR-10 — Durable, resumable financial state [required_inference]
As the system, I should persist every recorded transaction and the balance it produces, so that the books survive sessions and are the same for every authorised reader.
Product context. The treasurer is the person who keeps DKC 1202's books. They are a volunteer handling money they must answer for to a board, so their work is judged by whether the record is complete and current, not by how quickly they finish. They are the only participant who writes to the ledger.
Primary goal. Keep an accurate, current record of every rupiah received and spent by DKC 1202, so that the organisation's financial position is always knowable.
Distinct accepted responsibilities. Recording income transactions with date, description, and amount; recording expense transactions with date, description, and amount; reading and revisiting the recorded transaction history; reading the balance and summary to confirm the effect of what they entered.
Relevant inputs and decisions. The date of the transaction, a description of what it was for, and the amount; the decision of whether an entry is income or expense, which determines which workspace they use and which code colour the record carries.
Interactions with other accepted participants. The treasurer is the source of the figures the Pengurus reviews. Their recording decisions determine what the board officers see on the Dashboard, and they cannot delegate that recording authority to a reviewer.
Observable success. Every transaction they intended to record is present in the history with the correct date, description, and amount; the balance reflects those entries; and the figures the Pengurus reads match what the treasurer entered.
Product context. The board officer is a reviewer, not a recorder. They need the organisation's financial condition in a form they can act on — total income, total expense, and balance — without wading through the mechanics of bookkeeping and without the ability to change the books.
Primary goal. Obtain a concise, trustworthy picture of DKC 1202's financial condition as the basis for organisational decisions.
Distinct accepted responsibilities. Reviewing total income, total expense, and balance; using those figures to inform decisions about the organisation. They do not record, edit, or manage transactions.
Relevant inputs and decisions. The summary figures themselves; the decision the officer is making for the organisation, which the figures inform.
Interactions with other accepted participants. The officer depends entirely on the Bendahara's recording: the summary they read is the treasurer's record. Their review is the accountability check on that record, which is why their access is read-only.
Observable success. The officer can state the organisation's income, expense, and balance, and can see that those figures are current, without having altered anything.
The creative direction is authoritative for this section. The muse is Massimo Vignelli; the headline idea is systematic clarity for a village ledger — a record that must look unimpeachable, warm enough for a village organisation, and disciplined enough that no figure can be misread.
Colour tokens (light mode).
| Role | Hex | Meaning |
|---|---|---|
| Background | #F7F5F1 | Warm paper-white ground |
| Surface | #FFFFFF | Pure white panels so ruled tables and hairlines read as printed ink |
| Text | #111111 | Black type at full strength — never greyed for softness |
| Primary | #D32029 | Codes PENGELUARAN (expense) and every destructive/confirming action |
| Accent | #0B5FA5 | Codes PEMASUKAN (income) and navigational state |
| Muted | #6B6B66 | Metadata, table captions, rule labels only — never body copy |
| Category — Usaha | #E8B21C | Business unit, as category chips and chart strokes only |
| Category — Saldo | #1E7A46 | Balance positive, as category chips and chart strokes only |
| Hairline | #D8D4CC | 1px rules between table rows |
Proportion: roughly 80% paper and white, 12% black type and rules, 8% colour — and colour only ever as code or signal.
Typography. Headings and body both use Archivo. Headings are flush-left, ragged-right, never centred and never justified: weight 700 with tight tracking (−0.01em) for section titles, weight 500 uppercase with 0.14em letterspacing for labels, table headers, and nav items. Only three sizes exist — display, section, and label — and hierarchy is carried by weight, rules, and colour rather than by a ladder of sizes. Numerals are tabular everywhere money appears.
Type scale. 1.25 modular on a 4px baseline. Display clamp(40px, 7vw, 96px); section 28px → 40px; body 16px → 18px; label/caption 12px → 13px uppercase with 0.14em tracking. Line-height 1.05 for display, 1.5 for body, 1.2 for table rows. Money columns are right-aligned and tabular so decimal points stack vertically down the page.
Shape language. Hard edges only — zero border radius on cards, inputs, buttons, and chips; every surface is a rectangle, and the rectangle is the point. Structure is drawn with 1px rules: a 2px black rule under the page header, 1px #D8D4CC hairlines between table rows, and a vertical 1px rule separating the transaction column from the amount column. Colour chips are 12px squares, not pills. Buttons are solid rectangles with a 1px black border and no shadow. The only non-rectangular element is the small circular badge on the balance figure, and it is a strict circle.
Layout. A strict 12-column grid with 24px gutters, max-width 1280px, 64px outer margins on desktop and 20px on mobile. The reference's single-column stack is preserved as the base rhythm, but each block is grid-locked: the page header is a full-bleed white band with a 2px black rule beneath it; the nav is a horizontal row of colour-coded items on the same rule line, each a small square chip plus an uppercase label. Dashboard is a 3-up row of ruled panels (Pemasukan / Pengeluaran / Saldo) at 1280px, stacking to 1-up at 375px, each panel headed by a coloured 12px square and a label. Transactions is a ruled table with an uppercase 12px header, right-aligned tabular amounts, and income/expense amounts printed in their code colours. Forms are two-column label/value rows — label left in the 4-column zone, input right in the 8-column zone — collapsing to stacked label-above-input at 375px. Batal and Simpan transaksi sit side by side, right-aligned, on a 1px rule that closes the form.
Imagery. Diagrams and pictograms, never stock photography. Every category gets a drawn 24px pictogram on a 24px grid with 2px strokes: an upward arrow into a tray for Pemasukan, a downward arrow out for Pengeluaran, a balance scale for Saldo, a shopfront for Usaha, a flag for Kegiatan. Charts are pure geometry — flat bar and line charts in the coded colours on white with black axes, no gradients, no fills under lines, no rounded caps. A single ruled balance strip runs across the dashboard: a horizontal band where income and expense bars sit on opposite sides of a centre line, drawn as flat colour rectangles.
Readability at every viewport. Headlines, wordmarks, labels, numbers, panel text, and controls stay entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit, and no other element covers any part of them. Where the direction asks for a gesture that would crop or cover readable text or a control, the gesture is carried by imagery or decoration instead.
The public entry is a full-bleed paper-white band, not a centred SaaS hero. The organisation name BUKU KEUANGAN DKC 1202 is set in Archivo 700 at clamp(40px, 7vw, 96px), flush-left, ragged-right, occupying columns 1–9 and wrapping to three lines on desktop and five on mobile. It is the dominant object, and it is type, not an image.
To its right, in columns 10–12, sits a single vertical stack of four coded chips — blue, red, green, yellow — each with a 12px uppercase label: PEMASUKAN, PENGELUARAN, SALDO, USAHA, reading top to bottom like a legend on a transit map. Below the headline, flush-left, one sentence of body copy at 18px explains that this is the ledger for DKC 1202. Beneath it, one solid black rectangular button, Masuk, with a 1px black border and no radius. A 2px black rule closes the hero band edge to edge.
No gradient, no blob, no illustration, no photograph — the composition is headline, legend, sentence, button, rule, in that order, all left-aligned on the grid. The concept recomposes only accepted content and controls: the organisation name, the four coded money categories, the explanatory sentence, and the entry action.
Interaction Model: Static (direction) Motion Tempo: still Hero Dimensionality: flat
Landing Hero Motion Brief. The focal subject is the organisation name itself — Archivo 700 at display size, flush-left across nine of twelve columns, with the four-chip colour legend stacked in the right three columns. The input→transformation→outcome thesis is: a visitor arrives with no context → the headline and legend establish what the ledger is and what its four coded categories mean → the visitor chooses Masuk and continues into identity establishment. Motion vocabulary is near-still, per Vignelli: motion exists only to confirm a state change. The composed first frame is the full hero band at rest — headline, legend, sentence, button, closing 2px rule — with nothing animating on load. The reduced-motion state is identical to the first frame: the hero is static by design, so prefers-reduced-motion requires no rearrangement and every element is already fully readable.
Product-wide motion. A 120ms instant colour fill on button press; a 160ms opacity fade when a new transaction row is appended to the ledger table; a number that counts to its new value over 400ms when a balance changes. No entrances, no parallax, no hover lift, no decorative loops. The one permitted ambient motion is a 2px colour bar under the active nav item that slides 140ms between items when the section changes — a wayfinding gesture, not an effect. Under prefers-reduced-motion, the appended-row fade and the balance count resolve immediately to their final values, and the active-nav bar moves without transition.
NFR-01 — Durable financial state [required_inference]
Recorded transactions, their amounts, and the resulting totals must persist durably and be resumable across sessions by the correct participant. Rationale: the accepted outcome — a ledger that can be reviewed and relied on — is impossible if records do not survive the session.
NFR-02 — Identity-bound access to financial records [required_inference]
Protected financial state must be reachable only after identity is established, and recording surfaces only by the recording role. Rationale: the accepted role-specific control requirement cannot be enforced without binding access to identity and role.
NFR-03 — Numeric legibility [explicit]
All monetary figures must be rendered with tabular numerals, right-aligned in their columns, so decimal points stack vertically. Rationale: stated in the creative direction as a requirement of the ledger's readability.
NFR-04 — Viewport integrity [explicit]
Headlines, wordmarks, labels, numbers, panel text, and controls must remain entirely inside the viewport and their container at 375px, 768px, and 1280px, wrapping or scaling to fit, with no other element covering any part of them. Rationale: stated in the creative direction's readability rule.
NFR-05 — Reduced-motion support [explicit]
Under prefers-reduced-motion, the interface must present a usable static arrangement with all motion resolved immediately to its final state. Rationale: stated in the creative direction's motion and readability rules.
NFR-06 — Plain, unambiguous error reporting [required_inference]
Validation and retrieval failures must name the affected field or state plainly, preserve entered values, and never present unsaved or stale figures as current. Rationale: a ledger that silently loses or misreports an entry is not a usable record.
No technology choices were specified by the user. The following are coherent defaults for the accepted scope, labelled as defaults.
[Default — not specified by user][Default — not specified by user][Default — not specified by user][Default — not specified by user][Default — not specified by user]Assumptions.
[required_inference] The two accepted personas are the only human actors; no additional organisational role participates in the current scope.[required_inference] A person's role is declared at enrollment and carried by their identity; the source establishes no mechanism for changing it, so none is added.[required_inference] Amounts are entered as positive values, with the income/expense distinction carried by which workspace the record is entered in, not by the sign of the number.[required_inference] The balance is derived from the recorded transactions rather than maintained as a separately editable figure.[required_inference] The organisation is a single entity, DKC 1202; no multi-organisation tenancy is assumed.Constraints.
[explicit] The reference URL https://fantastic-chimera-fdc35a.netlify.app/ is visual inspiration only and is not a specification of this product; it contributes no product content, names, or capabilities.[explicit] The creative direction is authoritative for palette, typography, shape language, layout, imagery, and motion, and its prohibitions are binding: no border radius, no drop shadows or blur, no gradients or decorative colour without code meaning, no centred headlines, no more than three type sizes, no photography or emoji icons, and no hover-lift, bounce, entrance, parallax, or scroll-triggered motion.[explicit] Colour is code and must be applied consistently: blue #0B5FA5 always means income, red #D32029 always means expense, green #1E7A46 always means balance, yellow #E8B21C always means business unit.[explicit] Body copy stays at full black #111111; muted #6B6B66 is reserved for metadata, table captions, and rule labels.[explicit] The current scope excludes budgeting, forecasting, payroll, invoicing, multi-organisation tenancy, bank or payment-provider integration, and receipt OCR.#0B5FA5.#D32029.#1E7A46.#E8B21C.
Buku keuangan DKC 1202 mencatat pemasukan dan pengeluaran organisasi.

Buku keuangan DKC 1202 mencatat pemasukan dan pengeluaran organisasi.
No comments yet. Be the first!