Appearance
Where Your Documents Go
Not everything you upload becomes a transaction to review. Kraal decides where each file belongs from two things: what it is and what you're sending it for. Those are separate questions, and the second one matters most.
A receipt is the clearest example. The same receipt can mean:
- "book this expense — we haven't recorded it yet", or
- "here's the proof for that card charge you already have".
The first creates accounting work. The second must not, or you end up with the expense recorded twice. So Kraal asks for the purpose rather than guessing from the file.
The lanes
| What you send | What it's for | Where it goes |
|---|---|---|
| Bank statement | Bring the account up to date | A bank statement session, reconciled against the account |
| Credit-card statement | Bring the card up to date | A statement session against the card's liability account |
| Vendor bill | Record the expense | Transaction Processor → Purchase Invoice |
| Customer invoice | Record the revenue | Transaction Processor → Sales Invoice |
| Receipt | Record a new expense | Transaction Processor → expense |
| Receipt | Support an existing charge | Attached as evidence — nothing new is booked |
| Expense report | Reimburse an employee | Transaction Processor → Expense Claim |
| Payment batch | Pay several bills | Transaction Processor → payment review |
| Contract, policy | Keep for reference | Permanent file |
| Loan agreement | Support a debt schedule | Permanent file — then add the schedule yourself |
| Reconciliation support | Explain a difference | Attached to the reconciliation item |
| Close support | Evidence for a close item | Attached to the close item |
Filing a loan agreement keeps the document; it does not create the schedule. Interest is accrued from a debt schedule you add on the close, with the principal, term, start date and rate entered there. Until that exists, no interest is calculated — see Debt Interest Accrual.
Why some uploads stop and ask
Kraal will not start accounting work it cannot do correctly. An upload pauses and tells you what is missing when:
- The document type isn't established. An unrecognised file is not assumed to be a bank statement. Set the type and continue.
- No entity is selected. Accounting work belongs to a specific entity and company; there is no default.
- The currency is unknown. An amount with no currency has no meaning, and Kraal will not assume your home currency.
- Evidence matches more than one transaction — or none. Attaching proof to the wrong charge is worse than leaving it unattached, so you pick.
- The file is a duplicate, or the source has already been accounted for.
- The bank account isn't mapped yet. Map it once, then statements flow.
Each of these appears as a clear next action, not a failed upload. Your file is always kept.
Bank statements when a feed is connected
If a bank account is connected through a feed, the feed supplies most of the account's transactions. When you upload a statement for that account, Kraal matches every row against the Bank Transactions already recorded and imports only the ones that are genuinely missing — so uploading a statement for a month the feed already covered does not duplicate it.
For an account with no feed, the statement is the source of transactions and is imported normally.
Changing a routing decision
Every upload records where it was sent and why. If it went to the wrong place, you can reroute it — the original decision stays in the history, so the trail of what happened and who changed it is always readable.