Skip to content

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 sendWhat it's forWhere it goes
Bank statementBring the account up to dateA bank statement session, reconciled against the account
Credit-card statementBring the card up to dateA statement session against the card's liability account
Vendor billRecord the expenseTransaction Processor → Purchase Invoice
Customer invoiceRecord the revenueTransaction Processor → Sales Invoice
ReceiptRecord a new expenseTransaction Processor → expense
ReceiptSupport an existing chargeAttached as evidence — nothing new is booked
Expense reportReimburse an employeeTransaction Processor → Expense Claim
Payment batchPay several billsTransaction Processor → payment review
Contract, policyKeep for referencePermanent file
Loan agreementSupport a debt schedulePermanent file — then add the schedule yourself
Reconciliation supportExplain a differenceAttached to the reconciliation item
Close supportEvidence for a close itemAttached 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.

Kraal — AI-powered accounting for modern firms