Supplier postings confirmed in Business Central.
3 September 2026: every invoice in the reviewed supplier batch was posted. Amounts and line counts matched the prepared package. This check covers that batch only.
I built and run a connected finance process covering purchases, stock, sales invoicing and customer-payment reconciliation.
Purchases, stock and sales needed to reconcile. Finance needed to issue sales invoices, match customer receipts and explain differences.
I designed, built and run the system. I handle accounting, invoicing, receipts reconciliation and ongoing support.
Supplier batch posted; customer invoices delivered. Receipt reconciliation and corrections continue; handover is not yet complete.
Follow purchasing, billing, accounting and engineering in sequence. Bring a layer forward to explore its records and decisions.
Select a layer or play the walkthrough.
Follow the highlighted route through each layer. Select any box to explore its other connections.
Supplier documents, item records and accounting rules meet here. Checks connect the original purchase to stock costs and the eventual posting.
Supplier posting has its own approval. It does not authorise customer billing; the confirmed posting result covers the reviewed September batch.
The full view includes search, connected paths, presentation mode and export tools.
Choose a part to see its purpose, its connections and supporting detail.
Supplier invoices and supporting documents provide the original quantities and costs. I keep their links to the extracted records.
The invoice pipeline extracts text deterministically, with AI assistance for scanned documents. A separate controller structures the result for checking.
I check document coverage, line quantities and values, duplicate flags and unusual records before using the extracted data. Agreement between two outputs is not enough.
Missing lines, uncertain extraction and cost differences remain visible for investigation. They do not become accepted purchases simply because a file was generated.
Item and component records help distinguish stock, assembly and delivery costs. Their accounting treatment must be agreed before the records are used.
Workbook tables and formulas apply the treatment of inventory, cost of sales, components and delivery. Python prepares and checks the data without becoming a second money engine.
The costed stock records must reconcile to their source purchases. Import checks distinguish rows saved in the workbook from figures recalculated afterwards.
Replenishment records connect supplied quantities to stock and customer billing. This is a shared input to route B, with separate billing decisions.
I prepare the supplier import and supporting checks. Posting to Business Central needs explicit approval for that package.
I compare the reviewed supplier package with posted records. A prepared import and a posted transaction are different events; the September evidence confirms that batch only.
The web crawl captures reports. A selected stock position meets replenishment and earlier billing history, then supports a checked invoice, delivery and payment reconciliation.
This map combines operating work and implemented controls. Earlier cycles use their own frozen files. Receipt reconciliation, corrections and development continue.
The full view includes search, connected paths, presentation mode and export tools.
Choose a part to see its purpose, its connections and supporting detail.
The web crawl collects the report list, report rows and supporting PDFs. Its record distinguishes new, changed, unchanged and missing reports, so an incomplete capture cannot silently stand in for a complete one.
A report ID identifies a report, not an unchanged version of its contents. The crawl generation identifies a captured set and links to its predecessor. The exported count CSV has its own Gen_ID, linked back to that crawl generation.
The billing basis binds the selected stock report to its captured generation and billing period. Operations confirms stock information; the selection must account for report changes and missing evidence.
Changed counts, missing evidence and unresolved differences can hold affected billing for review. A familiar report ID does not make changed report contents safe to reuse.
Opening stock and replenishment history establish what was available. Stock counts then support the consumption calculation, with timing and exclusions checked for the selected position.
The workbook brings together the selected stock position, eligible supplies and earlier billed quantities. This distinguishes total consumption from what remains to bill and keeps exceptions visible.
After the relevant checks and approval, I issue customer sales invoices with supporting reports. Preparing a pack, issuing an invoice and confirming delivery are recorded as distinct events.
Billing History preserves the stock and supply basis recorded when a supported cycle was billed. Later count edits must not rewrite it. Earlier cycles without that record retain their own frozen evidence files.
Issued invoice lines, supporting packs and recorded basis allow a bill to be traced back to its cycle and inputs. Credits and reissues need their own evidence and links to the document they correct.
I reconcile bank receipts and allocations to the issued-invoice register. Unmatched cash, money held on account and outstanding invoice balances remain visible for follow-up.
The payment record keeps each bank credit and its allocation to invoices or money held on account. An invoice delivery record does not prove that a payment was received.
I investigate billing and payment differences and prepare corrections for review. Approved credits or reissues preserve the link to the original invoice; a proposed correction is not a completed one.
The accounting view keeps today’s stock position, the basis of issued invoices and customer cash separate, then reconciles their relationships.
A matching total does not prove a complete population. Missing historical evidence is reported as unmeasured, not replaced with zero or reconstructed as if it were original.
The full view includes search, connected paths, presentation mode and export tools.
Choose a part to see its purpose, its connections and supporting detail.
I start with the source purchases, replenishments and stock reports, including their coverage and captured versions. A reconciliation must account for missing records as well as matching amounts.
Finance determines the treatment of stock, cost of sales, components and delivery. Quantity, cost and billing timing must be explained separately; an accounting classification is not a release approval.
I compare stock and consumption quantities, costs and billed figures against their supporting records. Current calculations and issued history are compared without overwriting either one.
Customer and management reporting separates checked figures from unresolved differences and missing evidence. I identify the action or confirmation needed rather than presenting every difference as a completed correction.
Earlier billing cycles are traced to their retained packs and recorded basis. A new extract cannot be backdated and presented as the original evidence for an old invoice.
The recorded invoice basis explains which stock position and supply history supported a bill. Where a recorded basis is absent or diverges from the issued lines, the gap remains explicit.
Invoice lines and the register must agree on the issued document and its status. Superseded invoices, credits and reissues need to be identified when explaining the billed position.
A generated pack does not prove delivery, and a delivery record does not prove payment. I keep evidence for each event separate when reporting what has actually happened.
Bank credits are the source for received cash. Their value dates, amounts and allocations support the payment position rather than an assumption based on invoice status.
Payment allocations are checked against issued invoices. Outstanding balances, unallocated receipts and money held on account are different positions and need different follow-up.
I build and maintain the collection tools, workbook integration and checks. Each part has a defined job, with recorded inputs and review before a change reaches the operation.
This shows implementation responsibilities and practices, not a claim that every control is fully deployed. Development continues and handover to another operator is incomplete.
The full view includes search, connected paths, presentation mode and export tools.
Choose a part to see its purpose, its connections and supporting detail.
The report portal is an external source. The collection process must handle changes, missing reports and incomplete retrieval rather than assuming that the newest download is usable.
The crawler records the report population, extracted rows and PDF links. Validation checks completeness and changes before captured data is accepted for billing use.
The capture store retains generations linked to their predecessors and checks their report-to-PDF relationships. Workbook-facing count exports carry a Gen_ID linked to the crawl generation.
Supplier invoices enter through a separate extraction pipeline. Text extraction and AI assistance feed deterministic structuring and checks before finance uses the records.
Python coordinates acquisition, staging and validation. Power Query and VBA support workbook loading and interaction; the financial rules remain in workbook tables and formulas.
The workbook owns the finance calculations and recalculates with changed inputs. Staged data, saved rows and recalculated figures are different states and require different checks.
Saved workbook results and generated packs are checked after the operation. Run records retain the inputs and state needed to investigate a failure or explain an output later.
I define the accounting rules, expected result and refusal conditions before changing the tools. Claude Code and Codex assist development and review; I retain responsibility.
I test on copies, exercise failure cases, re-derive key figures and check saved results. Tests include incomplete captures, ambiguous history and mismatches between records and issued documents.
A separate AI review challenges the implementation and its evidence. Passing tests or an AI review does not authorise workbook promotion, posting or customer delivery.
A person authorises the relevant release. Backups, run records and runbooks support recovery and recurring operation; I continue to maintain them alongside billing and operational support.
3 September 2026: every invoice in the reviewed supplier batch was posted. Amounts and line counts matched the prepared package. This check covers that batch only.
7 September 2026: delivery confirmed for the customer invoice pack, control workbook and consumption reports. Later corrections are tracked separately.
1 October 2026: updated consumption and difference reports matched saved invoice records. Held items and corrections remained under review. This record confirms checking, not delivery.
I turn supplier documents into structured records, resolve item and component differences, and define how stock, assembly and delivery costs are treated. The resulting records support inventory and cost-of-sales checks and controlled preparation for Business Central.
I connect replenishment history and stock counts to each billing cycle, check eligible records, and prepare and issue customer sales invoices with supporting reports after approval. Changed counts and unresolved exceptions are held for review. Supplier imports follow a separate release process.
I prepare consumption, cost and difference reports to answer specific questions. When a report is challenged, I trace it to the underlying stock, replenishment and invoice records and explain what needs correcting or confirming.
After invoices are issued, I reconcile customer receipts to invoices, identify unmatched payments and outstanding balances, and investigate differences. I also prepare correction schedules and action lists for Operations, linked to the source records. Proposed credits and reissues stay separate from confirmed corrections.
I maintain the data collection, workbook controls, validation routines and runbooks alongside the recurring work. Reconciliations and a separate AI review help challenge the results; they do not replace a second human operator. Transferring routine operation remains work in progress.
I am the sole hands-on owner of the design, build and operation of this system. I set the finance requirements, build and test the tools, issue sales invoices, reconcile customer receipts and handle reporting and exceptions. Operations provides and confirms stock information; financial release and corrections require explicit approval. I use Claude Code and Codex to assist development and review, while retaining responsibility for the work.
At the 6 July 2026 supplier-import checkpoint, 391 invoices worth EUR 827k were prepared for Business Central, with 100% of the value accounted for. Posting required approval at that stage; these are historical supplier-batch figures, not customer-billing totals.
Used AI to extract invoice data, checked it against defined rules and held posting for human approval.
Finance can trace purchases into stock, stock into sales invoices, and invoices into customer receipts, with differences and outstanding balances visible for follow-up.
Started with the accounting treatment and the records needed to support it. Kept financial rules in visible workbook formulas and tables so changes recalculate with the data.
Used Python for collection, transformation and checks, and AI assistance for difficult document extraction, coding and review. Uncertain records go to review.
Tested changes on copies, re-derived key figures and checked saved outputs before approved release. Kept run records so a billing result can be traced back to its inputs.
A marine supply operation with stock held across vessels and a multi-tier supplier network. The work grew from feasibility analysis and supplier-cost reconciliation into recurring customer billing, reporting and operational support. Client and vessel identities are withheld.