sup.jpeg
Josh Allen in a white cap, rose-tinted rimless glasses and an iced-out heart pendant

sup?

Mock SAP, EDI, bank and e-invoicing systems, for testing integrations without a license, a VPN or a trading partner. Also apps for the Flipper Zero, a dashboard of Portland and the sky, a blog and some music.

projects dashboard flipper play

Projects

Mock enterprise systems for integration testing. Point your code at them and develop, test and demo without a license, a VPN tunnel, or a support ticket.

Using them together: Testing an SAP-to-EDI integration without SAP or a trading partner. On the failures you can't ask a partner to perform: three EDI behaviours you can't rehearse.

The films are drawn by mock-films from the messages of a real run against a mock. The mocks have no screens of their own; these are the conversations they had. acme-treasury draws its own, from a real week against the mocks.

One purchase, all three mocks

Four lanes: SAP, ACME, mock-edi as the supplier, and mock-bank; between the mocks runs procure_to_pay from the installed mock-acme package, ACME's middleware, driven by the capture script, which set the Monday the run starts on, emptied the bank's holidays, and created the purchase order in SAP before the film starts. Act one, on Monday 2026-10-12: ACME's 850 goes to the supplier, and it acknowledges, confirms, packs, sends the despatch advice, raises invoice INV9000002 and sends the 810. Act two: the middleware posts that invoice to SAP as an INVOIC, and SAP posts it and owes EUR 1250.00. Act three: the script advances the bank's clock to Wednesday 2026-11-11, the day SAP says the invoice is due; the middleware sends a pain.001 with one payment, which the bank accepts, books and reports; the clock moves a day, the statement arrives, the middleware posts it to SAP as a FINSTA01 and SAP clears INV9000002, with 22 empty statements posted on the way and not drawn. Act four: the script moves the supplier's clock to the bank's day, because a supplier a month behind would take the advice as one for money that has not come; SAP writes a payment advice, the middleware sends it to the supplier as an 820 for EUR 1250.00, and the supplier acknowledges it and records it as advised, which is its word for being told and not a state on the invoice.
one purchase across all three mocks drawn by mock-films from a real run

A purchase order in mock-sap goes to mock-edi's supplier as an 850, comes back confirmed, shipped and invoiced, is posted into SAP as money owed, paid through mock-bank, cleared by the bank's statement, and finally advised to the supplier as an 820. Each pair of mocks was green while the chain between them was broken.

Read the post

mock-sap

A black-box mock SAP endpoint: Gateway OData V2 and V4, BAPI/RFC over JSON and SOAP, and IDocs in XML and flat-file form, all backed by SQLite.

Features and films

mock-edi

A mock EDI trading partner. Not an EDI library or an AS2 server, but the thing on the other end: send it an 850 and it answers with a 997, an 855, an 856 and an 810.

Features and films

mock-bank

A mock bank that speaks ISO 20022 and NACHA, over HTTP and over a drop folder, so you can test a payment integration without a bank or a test IBAN.

Features and films

mock-einvoice

A mock e-invoicing partner: UBL invoices and credit notes held to every published rule of EN 16931, Peppol BIS Billing and XRechnung, and the Invoice Response that answers them.

Features

acme-treasury

A cash forecast from what mock-sap says is owed and what mock-bank says the account holds, held to the bank's statements to the cent.

Features and films

Worked examples

Small integrations between the mocks, from a PO bridge to procure-to-pay, each with its tests, kept in mock-acme.

All the examples

Dashboard

Public data, live: Portland's weather, air, rivers, bikes and earthquakes, the Cascade volcanoes and Mount Hood's snow, what's passing overhead, and the Treasury's books. One of its numbers here, the rest on the page.

Willamette at the Morrison Bridge
…

gauge height · USGS 14211720

The whole dashboard

Flipper

Apps for the Flipper Zero: a 128×64 screen, a d-pad and a buzzer.

The back of a Hanzi Cards card on the Flipper's orange screen: the characters 公共汽车 large across the top, the pinyin gōng gòng qì chē below them, then the English "bus", with "Again" at the bottom left and "Good" at the bottom right.

Hanzi Cards study

Mandarin flashcards: simplified or traditional characters, pinyin with tone marks, and the tones played on the speaker.

NW Crawl on the Flipper's orange screen: the player stands next to a rat on a dotted floor, with street-sign walls around them. The top line reads "Hit Rat. Rat bites -1" and the bottom line "HP11/12 c1 Burnside".

NW Crawl game

A tiny roguelike set on the alphabet streets of NW Portland.

Tricorder's RF tab on the Flipper's orange screen: tabs for RF, IR, EMF and TAG down the left with RF highlighted. A filled bar across the top reads "RF 387-464" and "SCAN", a spectrum of spikes fills the middle with a marker over the tallest, and the bottom line reads "PEAK 445.70 -71dBm".

Tricorder tools

A handheld signal scanner: Sub-GHz, infrared, NFC, RFID, a GPIO probe and the battery.

Portal Putt on the Flipper's orange screen: a bar across the top reads "5. Dragon's Hoard P4 S0 -10", the ball at the left with a dotted aim line, two hatched patches in the middle, a square creature beyond them, a wall on the right, and the flag at the bottom right among small trees.

Portal Putt game

Minigolf in nine holes across fantasy and sci-fi worlds, with portals, gravity wells and lava.

Play

The toys, which are the other half of the menu: an arena, a backrooms, a cracktro, a city, nine holes of golf, a temple with a guitar neck in it, and a newspaper.

The arena: six small tanks in different colours on a dark square, one with a translucent scanner wedge sweeping ahead of it, a missile in flight and a ring where one has just hit.

Arena game

An homage to AT-Robots: write a tank in a small assembly language and watch it fight.

A corridor drawn in amber wireframe on black, a drop ceiling and a tiled floor converging into fog, and a tall thin figure standing in it, drawn in red lines.

Backrooms game

You noclipped out of the site. Under it there is only wireframe, and something that walks when you are not looking.

A cracktro frame: the word RICK in green wireframe turning over a purple and green plasma, copper bars across the screen, a tracker readout in the corner, and a scroller along the bottom in orange reading WELCOME TO RICKSEUFERT.

Intro demo

Before a cracked game loaded, there was this. The site has one now.

A wireframe city at night: the arena, an octagon of amber walls with floodlight poles at the corners and a scoreboard above it showing six small coloured tanks mid-fight, 6 STANDING, black towers behind, a grid of streets fading into the dark, and stars.

City overworld

The site as a city, laid out from the date. Everything here is a door.

A par three drawn in green wireframe on black: a fairway rising to a raised green on a finer yellow grid with a sand bunker beside it, a pond in blue to the left, wireframe pine trees on the right, and the white tracer of a ball in flight climbing toward the flag.

Golf game

The cabinet in the corner of the bar, with the trackball worn smooth. Nine new holes every day.

Sixteen gnostic signs drawn in pale green line art in a ring on black: the ouroboros, Abraxas with a cock's head and serpent legs, the letters IAO, a lion-headed serpent, the Tree of Life, a hexagram, the Tetraktys; in the middle, large, Abraxas, named beneath.

Temple nave, library and presses

A temple of gnostic signs on a far block of the city, and a library behind it.

A guitar neck in pale green line on black, strings E2 A2 D3 G3 B3 E4 down the left, every note of C major in a ring at its fret, the sharps faint between them, and each C filled in amber.

The neck music

A fretboard with every note on it, in any tuning: scales and chords lit over it, and the sky this minute as a chord you can play.

A broadsheet front page on a dark ground: the masthead THE DAILY SEED between double rules, a dateline, a lead headline about the manhole still being open, briefs down the side, and columns headed Sport, Weather and Arts.

The Daily Seed newspaper

The site's newspaper, set each midnight from the date. Price: no cookies.