fiskaltrust / fiskaltrust/middleware

[Middleware][PL][SCU] Implement the POSNET SCU (IPLSSCD against a real POSNET Online printer)

Open
#751 0 comments 0 reactions 1 assignee Claimed by @Tjark-fiskaltrust View on GitHub
Dominant language
C#
Stars
20
Forks
11
Avg merge
1d 18h
Merged PRs (30d)
13

Description

Labels: device, product

## Goal

Implement a POSNET SCU: a real `IPLSSCD` implementation that drives a
POSNET Online fiscal printer over TCP, alongside the existing `SandboxPLSSCD` (FAKE device).

## Scope

**In scope**
- Layer 1 (transport: TCP connect/send/read with explicit timeouts) and Layer 2 (frame codec:
STX/TAB/CRC16-XMODEM/ETX, encode + decode) per the OO design reference.
- Layer 3 domain commands needed for one normal sale: `scomm`, `trinit`, `trline`,
`trpayment`, `trend`.
- The three-outcome response model — confirmed / confirmed error (`?`) / **ambiguous on
timeout**. Ambiguous must never be silently retried (see the triple-print incident in
`doc/POSNET/Scripts/README.md`).
- A `PosnetPLSSCD : IPLSSCD` wired next to `SandboxPLSSCD`, device address configurable.
- Unit tests for codec/CRC (spec vector `CRC("123456789") = 0x31C3`) and for state/ordering
enforcement; no device required in CI.

**Out of scope (separate issues)**
- Fiscalization of a device, `hdrset`/`vatset` one-time setup.
- Daily/periodic reports, invoices, returns/discounts, non-fiscal printouts.
- Queue/Journal integration and the CRK reporting path.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.