
Field notes. Written by the people who ship.
Honest writing on Business Central, AI engineering with Claude, ERP implementation, SaaS product thinking and digital marketing in India. No clickbait, no listicles, no exclamation marks.
18 posts · sorted newest first.
Written by the engineering team, edited by the founder, fact-checked against the codebases we ship. Approximately one post per week.
Confirmation of Payee should be a hard gate, not a warning — three months of designing it that way
Direct Banking blocks payments on a CoP Mismatch rather than warning. Why we picked blocking over warning, how the override path is designed to be usable without being routine, and where the design breaks.
Rules first, Claude second: how three BC extensions share one AI-with-a-boundary pattern
Direct Banking, SpendFlow and Planning Studio all use the same three-part pattern for AI-assisted decisions in a BC system of record. Why the order matters, what it costs, and why finance teams stop asking to turn it off.
Standalone by architecture: why every SourceForge BC extension declares dependencies: []
The single design decision behind our twelve Business Central extensions — zero required AppSource dependencies. Why we picked runtime discovery over compile-time coupling, and what it saves at customer upgrade time.
Camera-first warehouse execution: betting against barcode scanners
Every WMS deployment we ever lost died on the scanner hardware project. So we built a WMS that runs on the phone every operator already has. What it takes to make camera-first actually work at warehouse scale — and where dedicated scanners still earn their keep.
Above the Cues: why we built a Role Center charting dashboard instead of pushing Power BI
When Power BI is the wrong default. The decisions behind SourceForge Insight — zero outbound calls, embedded chart libraries, permission-true reads, Page Background Tasks for compute. And why making the security review trivial is the actual product story.
Idempotent POS posting in Business Central: how we made retry safe by construction
How the Posted Sale Map pattern lets retail POS retry posts as many times as the network forces — without ever creating a duplicate sale. The architectural decision that shaped SourceForge Retail for Business Central.
One Business Central payroll engine, five countries: why we made country packs data, not code
How we built one Business Central payroll engine for India, UAE, KSA, Netherlands and USA — without forking the codebase per country. The architecture trade-offs of treating countries as configuration data rather than code paths.
Why Claude is the default AI across every SourceForge product
The reasoning behind making Anthropic Claude the default text model across every SourceForge product — and the one exception we make for media.
Five topics we write about with conviction.
Each topic maps to a real practice inside SourceForge. Writing comes after shipping — never the other way around.
Business Central
AL extensions, AI integrations and BC implementation patterns.
AI & Claude
Practical AI engineering with Claude for production systems.
ERP Implementation
Methodology, change management and India compliance.
SaaS Product Thinking
Building, shipping and operating SaaS products that scale.
Digital Marketing
SEO, content, paid and AI-led marketing for SMBs.
Browse by tag.
Tags cross-cut categories. Use them to find every post that touches a particular technology, market or theme.
Get the next post in your inbox
One email per post — approximately one a week. No marketing fluff, no promotional content, no shared mailing lists. Unsubscribe with one click.
- One email per post — that's it
- Editorial tone — no clickbait
- Engineering depth — written by builders
Want to contribute?
Working on a Business Central, AI agent or ERP problem and have a write-up worth publishing? We'll consider guest pieces from practitioners — paid, credited, lightly edited.
- Original work · not republished elsewhere
- Editorial tone — same standards as our team writes to
- Paid honorarium · author credit · LinkedIn cross-post
Read enough? Talk to us.
The blog exists because we'd rather show our thinking than pitch it. If the writing resonates and you have a real problem to solve, we'd like to hear about it.

