SmartLink
ERP

ERP integration and interfaces in Pakistan

ERP integration in Pakistan is usually bought late, under time pressure, near the end of a programme, which is precisely why it causes trouble for years afterwards. SmartLink Services builds and takes over interfaces from Karachi across REST, SOAP, file and queue patterns, including bank payment and statement files and regulatory reporting flows. This page covers the commercial questions rather than the engineering: what an interface costs at market rates, how long one takes once the far end is involved, and when a set of point to point connections should become an integration layer instead. Every figure quoted is market pricing rather than our quotation.

Patterns
API \u00b7 file \u00b7 message queue
Monitoring
Per-interface dashboard
Docs
Versioned specifications
Overview

Point to point integrations rot. Build them to be supportable.

Interfaces are usually built under time pressure near the end of a project, which is exactly why they cause problems later. They work on the day, nobody documents them, and eighteen months on a message fails at two in the morning and no one can say what it was supposed to do.

We build interfaces to be operated, not just delivered. Every flow is catalogued with an owner and a versioned specification. Error handling, retry policy and dead-letter treatment are designed in rather than added after the first incident. A monitoring dashboard shows what ran, what failed and what is queued.

That matters most for the flows with external deadlines: bank payment and statement files, regulatory e-invoicing and tax reporting, and plant systems that keep producing whether or not the interface is healthy.

Scope

What ERP integration & interfaces covers

Everything below is agreed in writing before any erp & core systems work starts, so both sides know what is in and what is not.

What the work covers

  • Interface inventory and pattern selection per flow
  • REST, SOAP, file and queue-based interface build
  • Error handling, retry policy and dead-letter handling
  • Bank payment and statement file formats
  • Regulatory e-invoicing and tax reporting flows
  • Interface monitoring dashboard and alerting

What you get at handover

  • Interface catalogue with owners
  • Specification per interface, versioned
  • Error and retry runbook
  • Monitoring dashboard
  • Test evidence per flow

Typically involves

REST / SOAP
Discuss this service
01

Duplicates, replays and why exactly once is a story

Retry is the first thing added to an interface and the first thing to cause real harm. A payment file transmitted twice, a goods receipt posted twice, a sales order created twice, all because the sender never received an acknowledgement and did the obvious thing. Nothing failed in any log. The receiving system did exactly what it was asked to do, correctly, on both occasions, and the problem is found by a supplier who has been paid the same invoice on consecutive days.

Design for at least once delivery with a receiver that can recognise a repeat. Every message carries a stable identity from the source system, and the receiver keeps a record of the identities it has already processed, so a duplicate is acknowledged politely and not posted again. Where the target has no natural key available, add a reference field, index it, and make the check part of the interface rather than a stored procedure somebody remembers to call.

Support work needs one more thing: a correlation reference that appears in the source record, the message log, the target document and the alert. Without it, diagnosing an incident becomes an exercise in matching timestamps across three systems whose clocks disagree. The limit here is honest and specific. Idempotency has to be designed per flow, against the semantics of that flow. No middleware setting provides it generically, whatever a product datasheet implies about guaranteed delivery.

  • A stable source identity carried on every message and stored by the receiving system
  • Duplicate detection built into the interface rather than relied upon downstream
  • A correlation reference visible in source record, message log, target document and alert
  • Idempotency designed per flow, since delivery guarantees alone do not prevent double posting
  • Payment and posting flows treated as the highest risk for replay and reviewed first
02

Partial success, ordering and the message that poisons a queue

Batch files raise the question everybody prefers to avoid: what happens when row four hundred of nine hundred fails. All or nothing is easy to reason about and frequently unacceptable to operations, because it means a single bad record holds an entire day of transactions. Row by row processing is kinder operationally and creates an obligation, since rejects then need a route, an owner and a deadline rather than a log file that fills up quietly on a server.

Ordering causes the subtler failures. A master data update arriving after the transaction that depends on it. A cancellation processed before the creation it cancels. Either enforce order per key, which constrains throughput, or make the consumer tolerant so it holds a record until its dependency appears, with a maximum age and an alert when that age is exceeded. Choosing neither is common and produces intermittent errors that are extremely difficult to reproduce on request.

Then there is the single record that fails every attempt and blocks everything behind it. Cap the attempts, move it aside, raise an alert and keep the queue flowing. That decision creates a dead letter queue, and a dead letter queue only works if reviewing it is somebody's named job with a frequency attached. Otherwise it becomes an archive of unresolved business transactions that nobody has opened for months, which is worse than the blockage it was introduced to prevent.

  • A conscious decision per flow between all or nothing processing and row level rejection
  • Rejected records routed to a named owner with a deadline, not left in a log file
  • Dependency ordering enforced per key, or a tolerant consumer with a maximum hold age
  • Attempt limits and a dead letter route so one bad record cannot block a queue
  • Dead letter review assigned to a named person with a stated frequency
01

What ERP integration costs in Pakistan

One integration has a published market range in Pakistan and it is the useful anchor. Adding FBR e-invoicing to a POS or ERP already in production is quoted at PKR 150,000 to 400,000, a spread of nearly three times for what sounds like one job. Everything else is priced against effort, and market hourly rates for full stack development here run PKR 3,500 to 8,000. Where integration is bought inside an implementation it disappears into the programme bands of PKR 800,000 to 1,500,000 and upwards.

What separates a cheap interface from an expensive one is rarely the message. It is the far end. An API with documentation, a sandbox and a support contact is a small job. A partner system with no API, where the exchange is a file dropped on a server at a fixed hour, is larger, and the cost sits in what happens when that file is late, malformed or delivered twice. Bank formats deserve their own line, because each bank has its own layout, layouts change without warning, and testing a payment file involves a bank with no interest in your project plan.

Three items are routinely left out of comparisons and all three are where the money goes later. Error handling with a retry policy and a dead letter path. Monitoring that counts business documents rather than technical messages, so somebody can answer whether all of yesterday's invoices arrived. And a versioned specification, since an interface is a contract between two teams who will never meet. Price those in and a quotation looks higher; leave them out and the first failure at two in the morning costs more than the saving. Our figure follows discovery, once the flow inventory and the far end capability are known.

  • Priced per flow, with the far end capability assessed before anything is quoted
  • Bank payment and statement formats costed individually, since each bank differs
  • Error handling, retry policy and dead letter treatment included rather than added later
  • Monitoring that counts business documents, not only technical messages
  • A versioned specification per interface, treated as a deliverable in its own right
02

How long an ERP interface takes to build

Regulatory integration gives the clearest reported figure: FBR digital invoicing is a six to twelve week piece of work when the system underneath it is already stable. That number is a good rule of thumb for any interface of similar shape, because the build is a small share of it. Specification, sandbox access, test data, two rounds of failure handling and a reconciliation take the rest, and none of them can be compressed by writing the code faster.

Dependency on the far end sets the true duration. Your team can be ready in a fortnight and still wait a month for credentials, a test endpoint or an answer about what the response codes mean. Bank interfaces are the classic case, since a test file has to be accepted by a bank operating to its own calendar. We ask for the far end contact by name at the start of the work and record what has been requested and when, because interface delays are almost always a queue somewhere else.

Taking over an interface somebody else built is a different shape of job. The first task is establishing what it actually does, which is regularly not what the documentation says, and adding monitoring before changing behaviour. That sequence is deliberate. Changing an undocumented interface first and observing it afterwards is how a quiet failure becomes a reconciliation across several months of documents.

  • FBR digital invoicing reported at six to twelve weeks on a stable system
  • Far end dependencies named and tracked from the first week rather than chased later
  • Sandbox testing completed before anything is pointed at production
  • Monitoring added before behaviour is changed on any inherited interface
  • Test evidence per flow retained, including the failure cases rather than only the successes
03

Point to point interfaces or an integration layer

Point to point means each system talks directly to each other system. It is quick, cheap on the first interface, and what almost every organisation has. The arithmetic is what turns against you. Two systems need one connection. Five systems that all talk to each other need ten, and every one has its own credentials, its own error handling and its own person who understood it. Replace one system and you rebuild every connection it touched.

An integration layer, whether that is a message broker, an integration platform or a modest internal service, puts one hub in the middle. Each system connects once. Message formats are translated in one place, retries and dead letter handling are implemented once rather than five times, and monitoring is a single screen instead of five log files in five formats. The cost is real: a platform to licence or host, a skill your team may not have, and a component that is now on the critical path for everything.

Judge it on flow count, change rate and who runs it afterwards. Under about half a dozen stable flows, point to point built properly, with logging and retries, is usually right and a hub is over engineering. Where flows keep arriving, where the same customer record is pushed to three places, or where a system replacement is already on the roadmap, the hub pays for itself in the second year. The question that settles it is who operates the thing at two in the morning. A layer nobody has been trained to support is worse than the tangle it replaced, because now there is one component whose failure stops everything at once.

Whichever way it goes, the discipline is the same: an interface catalogue with a named owner per flow, a versioned specification, retry and dead letter behaviour agreed in advance, and a dashboard that counts documents. We build both patterns, and we say plainly when a client is being sold a platform for four interfaces.

  • Point to point for a small number of stable flows, built with logging and retries from the start
  • An integration layer where flow count keeps rising or a system replacement is planned
  • Connection count growth counted honestly before the pattern is chosen
  • Operational ownership settled before a hub is introduced, including out of hours
  • An interface catalogue with a named owner per flow, whichever pattern is used
How we deliver

Delivering ERP integration & interfaces

The six steps below run on every ERP engagement, whether the platform is SAP, Oracle, Dynamics or Odoo. What changes is depth, and how many legal entities and sites have to be carried through one cutover weekend.

  1. 01

    Discover

    We follow a real order, a real goods receipt and a real payment run from desk to ledger. What the procedure says and what people do rarely match, and that gap is the requirement.

  2. 02

    Blueprint

    The functional design fixes chart of accounts, entity structure, costing method and document numbering. Nothing here is easy to change once postings exist, so finance signs it before a consultant touches configuration.

  3. 03

    Build

    Configuration is done in a development client and travels one way to test. Key users see each process area demonstrated on their own material and customer records rather than on vendor sample data.

  4. 04

    Test

    Integration testing runs order to cash and procure to pay end to end, on migrated data. Then key users work written scripts, and every defect is logged with the screen, the document number and a severity.

  5. 05

    Go live

    A timed cutover sequence with named owners: final legacy postings, opening balance load, stock count, reconciliation, then the go decision at a stated hour. The rollback point is a restore that has been tested.

  6. 06

    Run

    Hypercare covers the first month-end close, which is where ERP problems actually surface. After that, a named key user group answers routine questions and changes are batched into a release cadence.

Working together

Interfaces are operated for years and built in weeks

The economics of integration are lopsided and rarely discussed at the point of build. A flow takes a few weeks to construct and is then operated for a decade by people who were not involved. Almost every decision that feels like extra effort during the build, the identity on the message, the version discipline, the control total, the runbook, is repaid the first time something fails outside working hours. Most of these choices cost hours to make and days to retrofit.

SmartLink Services builds interfaces to be handed over, which means the specification, the monitoring and the runbook are deliverables rather than intentions. Where an existing estate is undocumented, we would rather spend the first fortnight writing down what actually happens than start improving something nobody can describe. That order of work is less impressive to watch and considerably safer.

Credentials

Accreditations behind ERP & core systems

ERP buyers ask two things before shortlisting: which platforms we are accredited to deliver on, and how the system will meet Pakistani tax reporting once it is live.

Client words

What ERP & core systems clients say

Comments from people who run erp & core systems systems day to day.

  • What sold us was that they argued with our brief. We asked for a reporting layer and they came back saying the reporting was fine, the batch data underneath it was not, and fixing that first would cost less. That turned out to be right. Our first mock recall after go live took an afternoon instead of the better part of a week.
    Finance Director Food manufacturing group, Karachi
  • We had been through one failed implementation already, so we were sceptical of the whole category. The difference here was the migration work. Two full rehearsal loads before the real one, with a reconciliation pack we could check ourselves. Nobody had ever handed us evidence like that and asked us to sign it.
    Head of IT Wholesale distribution business
  • Our cost reports used to show what we had paid, never what we had committed. Once the subcontract orders and approved variations started registering as commitment, the forecast stopped flattering us. It was uncomfortable reading for a month and then it became the most useful number we have.
    Chief Financial Officer Construction and contracting firm
Questions

Questions about ERP integration & interfaces

The one published anchor is FBR e-invoicing added to an existing POS or ERP, quoted in the market at PKR 150,000 to 400,000. Other interfaces are priced against effort, with market hourly rates for skilled development running PKR 3,500 to 8,000. Cost is driven by the far end rather than by your ERP, so we assess that capability before quoting.

FBR digital invoicing is reported at six to twelve weeks on a stable system, and interfaces of similar shape follow that pattern. The build is the small part. Specification, sandbox access, test data, failure handling and reconciliation take most of the elapsed time, and waiting on the far end for credentials or a test endpoint is the most common delay.

Yes. The invoice is posted to the FBR system, the invoice reference number and QR code that come back are stored against the document and printed on it, and failures are queued and retried rather than dropped. Testing runs in the sandbox before production. Whether your business is required to integrate is a question for your tax adviser.

It is a common situation and it is workable. File exchange on an agreed schedule, a database view where the supplier permits one, or screen level automation as a last resort. What matters more than the mechanism is the agreement around it: what a late file means, what happens when one arrives twice, and who is called when the exchange stops.

It is chosen per flow rather than standardised for its own sake. A stock enquiry from a sales screen has to be immediate. A nightly bank statement does not, and forcing it into a real time pattern adds fragility for no benefit. Regulatory reporting is decided by the rule rather than by preference, since FBR digital invoicing expects the sale as it happens.

Whoever is named in the catalogue, and that name is agreed before go live rather than after the first incident. We hand over a versioned specification, an error and retry runbook and a monitoring dashboard, then either support the flows under an agreement or train your team to. Both are offered deliberately, because a dependency nobody chose is not a service.

Interfaces failing quietly?

Tell us what you run today and where erp integration & interfaces is causing you trouble. The first conversation is a consultation rather than a pitch.