1. Summary
A reusable Hyperline → Upflow connector: dedicated Node.js service, built multi-merchant, hosted and operated by Reviaflow on EU infrastructure. First merchant: Kolsquare, across their three Upflow organizations.
Kolsquare, 3 organizations
platform + first merchant
+ 200 €/mo indicative increment
from access in place
2. What you get
| Layer | Contents |
|---|---|
| Sync engine | Customers · billing contacts (with correct primary recipient) · invoices + original PDFs · payments allocated to invoices (an invoice recorded as paid in Hyperline is never dunned) · credit notes allocated (no over-dunning on invoices credited in Hyperline). Hourly incremental + pre-dunning morning run + nightly consistency sweep with deletion detection. Idempotent end to end. |
| Reliability layer | Dry-run mode (full diff, zero writes) · per-run report with explicit data-quality flags · automated alerting · sync-state visibility for the PS team (alert channel or status digest — format agreed at delivery). |
| Hosting & operations | Dedicated isolated environment, EU infrastructure · secrets management · deploy pipeline · monitoring · business-hours operation by Reviaflow. |
| Documentation & reversibility | Architecture doc · operations runbook · handover-ready Node.js codebase enabling future re-hosting on Upflow infrastructure. |
3. Platform vs merchant-specific
The connector is built once; each merchant is then onboarded on top of it. This drives the pricing model (§ 9).
PLATFORM — built once, reused for every merchant
- Service runtime, infrastructure, deploy pipeline, secrets
- Hyperline + Upflow API clients (rate limits, retries, quirks)
- Scheduler, incremental cursor, nightly sweep, orchestration
- All six data-flow mappings and their business rules
- Dry-run mode, quality reporting, alerting
- Multi-tenant & multi-org configuration mechanism
- Runbook & documentation templates
MERCHANT-SPECIFIC — repeated per merchant
- Access setup: API keys (Hyperline + one pair per Upflow org)
- Org topology configuration (Kolsquare: 3 orgs)
- Custom-field provisioning in each org
- Initial import: their volumes, their history
- Validation on their real data (dry-run review, reconciliation checks per org and per currency)
- Go-live sequencing and stabilization on their traffic
- Data-quality baseline (their source quirks)
4. Delivery plan
| Phase | Contents | Checkpoint / gate |
|---|---|---|
| 1 · Foundation | Environment, repo, deploy pipeline, access verification | All access verified day 1; missing items escalated immediately |
| 2 · Sync engine | API clients, scheduler, orchestration, dry-run, reporting | Engine test suite green |
| 3 · Data flows | The six flows per the scoping document | Every mapping rule covered by tests on real data samples |
| 4 · Initial import, sandbox | Full import against sandbox environments | Volumes & amounts reconciled per currency |
| 5 · Joint validation | Full dry-run on production data, reviewed together | Written go from Upflow before any production write |
| 6 · Initial import, production | Org by org, in Test Mode (no customer-facing effect) | Reconciliation report per org shared with Upflow |
| 7 · Go-live & stabilization | Go-live checklist per org, sequenced smallest-first; ~2 weeks reinforced monitoring | Go-live button = Upflow/merchant decision, never Reviaflow's |
5. In scope
INCLUDED IN THE BUILD
- Six data flows: customers, contacts, invoices, invoice & credit-note PDFs, payments, credit notes — exactly as specified in the scoping document (frozen 17 Jul 2026)
- Routing to the three Kolsquare Upflow organizations (Kolsquare · Kolsquare Italy · Storyclash)
- Initial import: all open invoices regardless of age + ~1 year of settled history + complete payment/credit chains on open invoices
- Hourly incremental sync, daily pre-dunning run, nightly consistency sweep incl. detection of records deleted in Hyperline
- Post-sync cancellation handling (voided invoice = full cancellation in Upflow)
- Synthetic payments for manually marked-as-paid invoices (Upflow-recommended pattern)
- Dry-run mode, per-run data-quality reporting, alerting with PS visibility
- Custom-field definitions created and validated in each of the three organizations
- Hosting, monitoring and operation on Reviaflow EU infrastructure
- Runbook, architecture documentation, handover-ready codebase
- Multi-tenant foundation (ready for additional merchants — onboarding itself quoted separately)
6. Out of scope
NOT INCLUDED — available as separate engagements where relevant
- Real-time webhook layer — polling covers the need (incl. partial payments, which Hyperline webhooks do not emit). Endpoint reserved at infra level; can be added later as an evolution.
- Refunds flow — zero real cases in the data (Hyperline "refunds" are credit notes, carried by the credit-note flow). A runtime guard alerts if one ever appears; wiring the flow then is a scoped change.
- Anything related to the Salesforce connection — its matching, dedup, contact enrichment, or fixes to Kolsquare's SF→Hyperline feed. Decision record in the scoping document § 13: the connector carries a
salesforce_account_idcustom field and a coverage report, and takes no responsibility for that connection's behaviour. - Dunning configuration — plans, reminder policies, recipient policy (all vs main): Upflow onboarding decisions. The connector supplies the data, not the policy.
- Merchant-side configuration — Hyperline native-reminder toggles, reconciliation cadence, source data cleanup (duplicate Salesforce IDs, missing emails): reported by the connector, fixed at source by Kolsquare/Upflow.
- Draft invoices — never synced, by design.
- Settled history older than ~1 year — unless chained to an open invoice.
- Additional merchants — quoted per merchant (§ 9).
- Substantial changes after mapping freeze — see change control (§ 8).
7. Prerequisites & assumptions
| Item | Owner | |
|---|---|---|
| GATE | API key pairs for the three Kolsquare Upflow organizations. The one-month build clock starts when access is in place. | Upflow |
| GATE | Payment reconciliation moved from Pennylane into Hyperline before go-live (otherwise settled invoices appear unpaid and would be dunned). | Kolsquare (coordinated by Upflow) |
| GATE | Hyperline native reminders switched off at go-live (avoids double reminders). | Kolsquare (coordinated by Upflow) |
| Sandbox access — already in place (Upflow sandbox + Hyperline sandbox). | done | |
| Pending configuration decisions (instrument for "external" payments, optional custom-field list, recipient policy) land during the build; none blocks the start. | Upflow / Kolsquare |
Assumptions this proposal is priced on:
- The mapping is frozen as signed off on 17 Jul 2026 (scoping v1.0).
- Volumes are as measured on 16–17 Jul 2026 (≈3,000 customers, ≈3,500 invoice records, 3 invoicing entities). Material deviations (e.g. an additional invoicing entity) are handled through change control.
- Payment reconciliation quality and cadence are merchant-side; the connector mirrors what Hyperline records.
- Data-quality findings in the source (missing emails, duplicate Salesforce IDs) are reported, not fixed at source.
8. Change control
The following are not covered by the build price or the monthly fee, and are quoted before any work starts:
- Changes to the frozen mapping (new fields, new rules, ownership changes).
- New flows (refunds wiring, webhook layer, write-back of any kind).
- Breaking API changes on either side (Hyperline or Upflow) requiring rework.
- Additional invoicing entities / Upflow organizations beyond the three quoted.
- Any work related to the Salesforce connection.
- Onboarding of additional merchants.
- Material growth in data volumes or usage patterns beyond the measured baseline (16–17 Jul 2026).
Operations and fixes that restore the specified behaviour are covered by the monthly fee (§ 10); anything that alters or extends it is quoted.
9. Investment
| Item | Amount (excl. VAT) | Notes |
|---|---|---|
| Connector build — Kolsquare | 6,600 € one-time | Everything in § 5, across the 3 organizations. Fixed price. |
| Hosting & operations | 400 € / month | Platform + first merchant. Starts at the first organization's go-live, or 30 days after confirmed go-live readiness, whichever comes first. Reviewed together 3 months later against observed run effort. |
| Additional merchant — onboarding | from 1,800 € one-time | Configuration, initial import, validation on their data, go-live. Quoted per merchant. |
| Additional merchant — run | ≈ +200 € / month | Indicative increment, confirmed in each merchant's onboarding quote. Sub-linear by design: the platform is shared, so an additional merchant never adds another 400 €. |
- Monthly fee covers: infrastructure, monitoring, business-hours availability, and fixes that restore the specified behaviour.
- Billed separately: change-control items (§ 8), additional merchant onboarding.
- Payment: the build is invoiced in full at delivery — production import validated and go-live readiness confirmed (checklist complete). Payment per the master agreement (30 days). The monthly fee starts at the first organization's go-live, or 30 days after confirmed readiness, whichever comes first.
10. Service terms
These terms complement the master agreement of 23 Apr 2026:
| Support | Business hours (CET), response within one business day, best effort. No 24/7 coverage, no contractual uptime guarantee. Support requests flow through Upflow (PS); Reviaflow does not provide direct support to merchants or their end customers. |
| Maintenance boundary | Covered by the monthly fee: operations and fixes that restore the specified behaviour (the frozen mapping). Anything that alters or extends specified behaviour is change control (§ 8), quoted before work starts. If a provider-side API change breaks the sync, Reviaflow detects it through monitoring, notifies PS, and stabilizes the service (safe pause or degraded mode) as part of the monthly fee; the rework itself goes through change control. |
| Liability | As is standard for a hosted managed service: aggregate liability under this engagement is capped at the fees paid under this proposal over the twelve months preceding the claim; indirect and consequential damages excluded. |
| Exit & reversibility | Either party may end the hosting arrangement with 60 days' notice. Reviaflow hands over codebase, configuration and runbook for re-hosting on Upflow infrastructure, with reasonable transfer assistance billed at the master-agreement rate. |
| Data | Processed under the DPA included in the master agreement, on EU-hosted infrastructure. |