ITF Digital

What we connect to, and how

The methods we use to connect systems, the systems buyers here usually run, and the Saudi data problems that break integrations nobody warned you about.

First document
The identifier map
Methods
Six, from a documented API to email intake
Typical connection
Two to four weeks once the mapping is agreed
Failure handling
A queue for undelivered items and an alert to a named person
Local data
Hijri dates, Arabic names, Arabic-Indic digits

We connect to systems through their documented interface where one exists, and through scheduled exports, read-only database views or file drops where it does not. The identifier map comes before any connection, and every connection has a queue for what could not be delivered and an alert that reaches a named person.

Six connection methods, from a documented API to email intake, feed one read step drawn live. An inset lists what the read step fixes: Hijri dates, names in two scripts, Arabic-Indic digits, legacy encodings and personal identifiers. The record is written to your system on a schedule, and a failed write drops to an undelivered queue and a named person.SIX WAYS IN, CHOSEN PER CONNECTIONAPIDOCUMENTEDWEBHOOKON CHANGEEXPORTSCHEDULEDDB VIEWREAD ONLYFILE DROPSHARED FOLDEREMAILINTAKEREAD AND NORMALISEORIGINAL KEPT BESIDE EACH VALUEWHAT THE READ STEP FIXESDATES, HIJRI AS TEXTONE CALENDAR, ORIGINAL KEPTNAMES IN TWO SCRIPTSJOINED ON CR OR VAT NUMBERDIGITS TYPED AS ٠١٢٣CONVERTED TO 0123, FLAGGEDLEGACY ARABIC ENCODINGRECOVERED BEFORE HAND EDITSIQAMA AND NATIONAL IDA KEY ONLY WHERE YOU DECIDEEVERY CONVERSION FLAGGED, SO A PERSON CAN CHECK ITYOUR SYSTEMWRITTEN ON A SCHEDULEIF A WRITE FAILSUNDELIVERED QUEUEVISIBLE, WITH ITS REASONA NAMED PERSONALERTED, WITH THE RUNBOOKRECONCILED ON A SCHEDULE
One record, read and normalisedSix ways in, one read step, and a queue for whatever failsSwipe to pan
  1. 01 Enquiry
  2. 02 Systems audit
  3. 03 Specification
  4. 04 Build
  5. 05 Pilot
  6. 06 Deploy
  7. 07 Handover
  8. 08 Support

What we connect to, and how sits at step 3 of the build cycle. You receive a written specification and scope.

01

Saudi data that breaks integrations

Most integration estimates assume clean data. Data here arrives in two calendars, two scripts and two sets of digits, and each one breaks a connection somebody else built.

Two calendars. Hijri and Gregorian dates sit in the same field, sometimes stored as text. We convert to one calendar on read and keep the original value beside it, so anyone can check the conversion.

Names in two scripts. One supplier is held under an Arabic name in one system and an English transliteration in another, spelled three ways. Names are poor keys. A CR number or VAT number is usually a better one, and it is often already in both systems.

Personal identifiers. Iqama and national ID numbers join employee records well, and they are personal data. They are used as a key only where you have decided they may be.

Arabic-Indic digits and old encodings. Numbers typed as ٠١٢٣ in a text field break anything expecting 0123, so they are converted on read and flagged. Exports from older systems often save Arabic in a legacy code page that turns into unreadable characters when opened elsewhere. It is recoverable if caught before anyone fixes it by hand.

02

Six ways data moves

The method is chosen per connection, from what the other system exposes and what your licence permits. Most jobs use two or three of these.

MethodWhen we use itWhat to watch
Documented APIThe system publishes one and it covers what you need.Rate limits, and the fees some vendors charge for API access
WebhookThe system can notify another the moment something changes.Missed notifications, so reconciliation still runs
Scheduled export and importThere is no usable API, or a nightly flow is enough for the decision it feeds.The file format changing after a vendor update
Read-only database viewYou host the system and your IT allows a view onto its tables.Read only, so your system stays the one that writes
File dropA shared folder or secure transfer the other side already uses.Files arriving twice, or not at all
Email intakeDocuments arrive by email and nowhere else.Renamed attachments and forwarded chains
03

What each connection comes with

01

The identifier map

Every shared entity, the system that is master for it, and the key each other system uses. Written before the first connection.

02

The interface specification

One page per connection: the method, direction, trigger, payload, frequency and conflict rule.

03

The conversion flags

Every date, digit and encoding changed on read, stored with its original value so a person can check it.

04

The undelivered queue

What could not be delivered, visible on a screen with its reason, and an alert to the named person who releases it.

05

The reconciliation report

Both sides compared on a schedule, so a missed webhook or a doubled file shows up as a difference.

04

Before we quote a connection

Can you connect to our system is answered with evidence, in this order.

  1. 01

    Name the product and version

    On both sides. The same product can expose very different interfaces from one version to the next.

  2. 02

    Check the licence

    Whether your licence includes API access, and whether the vendor charges for it. You hear about any fee before the quote.

  3. 03

    Read a real extract

    A sample from each side, read before the documentation, because the data decides the method more often than the manual does.

  4. 04

    Call whoever supports it

    The vendor or the partner who installed it. Their answer about what is possible is worth more than any document.

  5. 05

    Pick the method

    Per connection, written into the interface specification with the reason it was chosen.

05

One supplier, three spellings

A distributor in Riyadh keeps its supplier master in an ERP and a working supplier list in a spreadsheet its purchasing team maintains. Delivery documents arrive only by email.

The ERP's version and licence are checked first: it exposes a documented API for supplier records, so that side uses it. The spreadsheet holds suppliers under Arabic names while the ERP holds English transliterations, spelled differently in places. Both hold VAT numbers for most suppliers, so the identifier map joins on the VAT number and lists the suppliers without one for purchasing to complete.

Dates in the spreadsheet mix Hijri and Gregorian, some stored as text. They are converted to Gregorian on read, with the original kept and flagged. The flow runs nightly, because no purchasing decision depends on a supplier change arriving within the hour.

Delivery documents are read from a dedicated mailbox and filed against the supplier by VAT number. Anything that cannot be matched lands in a queue owned by a named person in purchasing. The distributor holds the identifier map, an interface specification per flow, the conversion flags, the exception queue and a weekly reconciliation report.

06

Systems buyers here usually run

Named as examples of what buyers mention. We check your version and your licence before quoting.

SAP Business One, Odoo, Microsoft Dynamics, Zoho Books

Usually the master for customers, suppliers and money. We read masters and postings from it and produce import files, and anything that moves money waits for a person's approval inside the accounting system.

  • Customer, supplier and item masters read on a schedule
  • Import files prepared for a person to review and post
  • Tax invoices issued by the accounting system itself, as it already does
07

Asked before the first call

Q01

Do you have a partnership with our ERP vendor?

No, and none is needed. We work from the interface your system exposes and your licence permits. The product names on this page are what buyers in this market commonly run.

Q02

Does it have to be real time?

Rarely. A scheduled flow is simpler, cheaper and easier to reconcile. We build real time only where a decision depends on data arriving within minutes.

Q03

Who pays if the vendor charges for API access?

Any vendor fee for API access is checked against your licence before we quote, so it is known before the work starts.

Q04

Our system only exports to Excel. Is that enough?

Often. A scheduled export and import is a proper method. The thing to watch is the file layout changing after a vendor update, so the import checks the columns it expects on every run and alerts a named person when they change.

Q05

What happens to our Hijri dates?

They are converted to one calendar on read, and the original value is kept beside the converted one. Dates stored as text are parsed in the format they were written in, and anything that cannot be parsed is flagged for a person rather than guessed.

Q06

What drives the cost?

The number of systems, which method each one allows, how badly their identifiers disagree, and whether any flow has to be real time. A documented API on both sides with a shared VAT number is the quick end.

Name the system, send an extract

Tell us the product and version on each side and send a real extract. We check what the interface and your licence allow, and the identifier map comes out of the first week.

Send us an extract