Logistics and Shipping

Daftra and Fasah Pay Invoice Integration

A controlled integration for a logistics business that reviews Daftra invoices and submits eligible ones to Fasah Pay, with server-side checks and protection against duplicates.

Built by the JK Software Solutions engineering team.

Confidential Client Project
Daftra and Fasah Pay Invoice Integration

The Challenge

Invoices issued in the accounting system had to be entered again on the payment platform by hand. That is slow, and a mistake is costly: sending an invoice twice, or sending one that belongs to a different line of business, creates a real financial problem.

Our Solution

An authorized employee opens a protected screen and enters the Daftra invoice number. The server reads the invoice, determines its cost center from the accounting journal entries rather than from the invoice header, and returns a preview with a clear eligibility result. Paid, expired, mixed, incomplete, and previously sent invoices are rejected on the server, even if the button in the browser is manipulated. When the invoice is eligible, the employee confirms and the service creates it on Fasah Pay, then stores the returned reference. Each send carries a unique key. If the network fails after sending, the invoice is marked as an unknown outcome, and the service must query Fasah before any new attempt is allowed. Status can be queried at any time.

Objectives

Read invoices from Daftra without changing anything in the accounting system. Allow only invoices from approved cost centers to be sent. Require an employee's explicit confirmation for each invoice. Make a repeated send impossible, and handle uncertain outcomes safely. Keep Sandbox and Production strictly separated.

Outcomes

The integration is delivered on its isolated host and completed a successful end-to-end test in the Fasah Sandbox environment; repeating the send returned the existing record without creating a second invoice. Moving to Production depends on credentials issued by the provider. Payment posting back to Daftra is intentionally outside this phase. The invoices in the screens are demonstration data.

Challenges

The cost center is not reliably available on the invoice itself, so it is resolved through the journal allocation chain. A timeout does not tell you whether an invoice was created, so the design treats it as a distinct state that requires reconciliation instead of a retry.

Our Role

JK Software Solutions studied both platforms, designed the data mapping and the safety rules, and built and deployed the service with its automated tests.

Technologies

Node.jsTypeScriptExpressSQLiteZodVitest

Related Service

Business Management Systems

Project Documentation

System Media Gallery

4 documented assets

Web Application

2

Project Media

2

Have an idea but not the technical details?

Send us the idea and we will respond within 24 hours with the next practical step.

The initial consultation is free with no commitment, and for suitable projects it can include discussing an early visual concept.