Skip to content
CogniYukti

Recurring

“Did last month's export already include these?”

Asked every month, in every finance team, about every export. Answered by opening two files side by side, or by exporting everything again and letting the accounting system reject the duplicates.

The export should know.

Delta

Each export remembers what it has already taken.

Not a date filter somebody adjusts — a record, per export, of every document it has sent. Run it again and the second run is empty.

And because the record is per export rather than global, two exports over the same data each keep their own position. A monthly one to your ledger and an ad-hoc one for an accountant do not interfere.

Monthly export to your ledger
  • 142 invoices, 61 receipts, 9 credit notes1 Sep
    first run
  • 118 invoices, 54 receipts, 4 credit notes1 Oct
    only what the first run did not take
  • nothing1 Oct, again
    already exported — the run is empty, not duplicated
Each export keeps its own record of what it has already taken, so two different exports over the same data do not interfere with each other. And a preview shows what a run would pick up without consuming it.
Illustrative
  • A preview does not consume the delta

    It resolves what the run would pick up, writes no file, marks nothing and records no run. So you can check before committing.

  • Written-off documents are excluded unless you ask

    And asking is honoured explicitly rather than by accident.

  • The filter used is kept with the run

    So a question about a historical export is answerable from the export rather than from memory.

Shape

Mapped onto your ledger names, in the shape each system wants.

Three formats, and each is built for how its target actually imports. One takes a single structured file with one entry per document. Another wants a separate file per document type, so it gets three, zipped — and because that system has no concept of a refund, refunds are folded into the credit column and written out separately for reference.

Ledger names are yours: a base mapping plus per-tax-class overrides, so the file arrives speaking your chart of accounts rather than ours.

  • Encoded so the target actually opens it

    Including the byte-order mark one importer wants and a spreadsheet tolerates — the kind of detail that decides whether a first import succeeds.

  • Scheduled, or on demand

    Swept frequently enough that a schedule lands near its time rather than hours later.

Which systems?

Three formats today, covering two named accounting systems and a generic one. Not every ledger — and the column coverage for one of them is deliberately a working subset rather than complete parity, chosen so a first import succeeds without hand-editing.

Does this replace our accounting system?

No. There is no general ledger, no chart of accounts and no double-entry journal here. This module produces the documents; your ledger holds the accounts.

Can we import a bank statement and reconcile against it?

No. The reconciliation here is against payment gateways, not against a bank feed.