A multi-entity property group was losing days waiting for purchase requisitions to clear internal sign-off. Their NetSuite workflow was properly configured. The approvers simply were not in the system. We fixed that by bringing the approval directly into Slack, the tool their teams were already using every day.
About the Client
Our client is a well-established real estate and property management group operating across the Gulf region. With teams covering engineering, facilities, procurement, and finance spread across multiple offices, they had invested in Oracle NetSuite as their centralised ERP and had been running it for several years before approaching ERP Peers.
Their NetSuite environment was mature. Purchase requisition workflows were in place, cost centres were mapped, approval hierarchies were configured, and multi-currency support was active across all three entities. On paper, the setup was solid.
In practice, the procurement process was grinding. Requisitions were sitting open for days while the business waited for approvals that should have taken minutes. Vendors were missing delivery windows. Finance could not close periods cleanly because uncommitted spend was distorting their reporting.
The client came to ERP Peers not looking to redesign their process. They wanted to know why a properly configured system was producing this outcome, and what could be done about it without disrupting the workflows they had spent years building.

The Challenge
When ERP Peers carried out the initial discovery, the diagnosis was clear within the first session. The NetSuite workflow was functioning exactly as designed. Requisitions were routing correctly, approval chains were triggering, and email notifications were going out. The issue was on the receiving end.
Approvers were not acting on those notifications. And the reason was straightforward: the people responsible for approving purchase requisitions were not living in NetSuite. They were in Slack, in meetings, or in the field. Asking them to open a browser, log into an ERP, navigate to a queue, and action a record was too many steps for a task that was expected to happen quickly and frequently.
NetSuite was sending approval request emails correctly, but approvers were not treating them with urgency. Emails were being filtered, missed, or left for later. There was no escalation mechanism and no way for procurement to know a notification had gone unactioned until they chased it manually.
Department heads and senior managers across engineering, facilities, and finance were working primarily in Slack and email. NetSuite was a system they visited at period end, not one they checked daily. The approval queue was out of sight and therefore out of mind.
When a requisition sat open for more than a day, procurement had no formal way to escalate. Follow-up was happening through personal messaging apps and phone calls, none of which were tracked, none of which fed back into NetSuite, and none of which were consistent across three subsidiaries with different approval chains.
With requisitions in various states of pending approval across multiple entities, finance had no consolidated live view of committed spend. This was creating uncertainty in their reporting and making period-end close more difficult than it needed to be.
Operating across three subsidiaries with separate cost centres, currencies, and approval matrices made the situation harder to manage. A problem that was inconvenient in one entity was multiplied across all three, with no centralised oversight available to procurement or finance without running manual reports in NetSuite.
Our Solution
ERP Peers designed and delivered a custom, bidirectional integration between Oracle NetSuite and Slack. The principle was simple: rather than trying to change how approvers behaved, we met them where they already were.
When a purchase requisition is submitted and routed to an approver in the NetSuite workflow, a structured notification is pushed directly to that person in Slack within seconds. The card carries everything needed to make an informed decision: the requisition reference, the requestor and department, the cost centre, the subsidiary entity, the line amounts with full VAT breakdown, and the currency equivalent. Two buttons handle the response. The decision writes back into NetSuite immediately and the workflow continues from there, automatically, exactly as it would have if the approver had logged in and acted inside the ERP.
NetSuite remains the system of record throughout. Nothing bypasses the ERP. Every approval and rejection is attributed to the correct NetSuite user with a timestamp, the audit trail is unbroken, and the approval chain continues natively within NetSuite once the decision is received.
The integration was built around this client’s specific configuration rather than a generic template. Their approval hierarchy, subsidiary structure, cost centre mapping, and custom fields had evolved over years of NetSuite use. Every routing rule and every entity worked exactly as required from the first day in production.
In Practice
The experience for the approver is deliberately straightforward. They receive a notification in Slack, they see the full context of the requisition, and they click one button. No login, no navigation, no delay.
The screenshots below are taken directly from the client’s live Slack workspace. The first shows the approval notification card as it arrives in the dedicated approval channel and in the approver’s direct messages. The second shows the confirmation that appears immediately after the approver takes action, confirming the decision has been recorded in NetSuite in real time.


Beyond the approver’s experience, the procurement team now has a live channel view of every pending and actioned requisition across all three entities. Finance can see approval status for committed spend without running a NetSuite report. And when a requisition receives its final approval, a Purchase Order is generated in NetSuite automatically without anyone having to trigger it manually.
How It Works
The integration operates in both directions cleanly. NetSuite pushes structured data to Slack when an approver needs to act. Slack sends the decision back to NetSuite the moment the approver responds. The process is fully automated from end to end, with no manual intervention required at any stage.
When a purchase requisition reaches a pending approval status in the NetSuite workflow, the integration fires within seconds, delivering a structured card to the approver in Slack and to the shared procurement approval channel simultaneously.
When the approver clicks Approve or Reject in Slack, the decision is validated and written back into NetSuite immediately. The PR status updates, the next workflow step triggers automatically, and a Purchase Order is generated if the final approval has been given.
All three subsidiaries run through the same integration with separate cost centre mapping, approval matrices, and currency rules applied per entity automatically. There is no manual switching and no duplicate configuration to maintain.
Every action taken through Slack is logged against the correct NetSuite user record with a timestamp. The complete approval history remains intact inside NetSuite, compliant and accessible for finance review and external audit at any point.
Delivery Approach
ERP Peers followed a structured delivery approach that kept the project moving without disrupting the client’s live NetSuite environment. Discovery was thorough enough to eliminate surprises during build, and testing was comprehensive enough that go-live across all three entities required no downtime and no post-launch corrections.
Workshops with procurement, finance, and IT to map the existing NetSuite approval workflow, document the subsidiary structure, confirm custom field usage, and agree on the notification format and escalation rules for each entity.
Slack application created and configured with the correct permissions, the dedicated approval channel set up with appropriate member access, and user mapping between Slack identities and NetSuite employee records established and documented.
NetSuite workflow configuration updated to trigger the outbound notification logic at the correct approval stages. Slack notification template built using Block Kit to match the agreed card format. Return path built to receive approver responses from Slack and write decisions back to NetSuite securely with full user attribution.
End-to-end testing in the NetSuite sandbox covering single-level approvals, multi-level escalations, rejection and resubmission flows, concurrent approvals across entities, and fallback behaviour. Key users from procurement, finance, and IT signed off across all scenarios before production deployment began.
Integration deployed to all three live entities with zero downtime. Approvers briefed on the new flow. Internal administrator trained on the user mapping maintenance process. ERP Peers provided two weeks of post-launch monitoring to confirm stable operation across all subsidiaries.
Why This Approach
The client had considered a few directions before engaging ERP Peers. More aggressive email reminders had been tried and had not changed behaviour. Reassigning approval responsibility to people who were more regularly in NetSuite had caused its own friction. A generic Slack integration had been looked at but did not support the client’s multi-entity structure or custom field configuration.
The reason this project delivered results where those approaches had not comes down to three things.
Rather than trying to change how senior managers worked, the integration adapted to them. The approval came to Slack because that is where approvers already were. No new habits required, no retraining, no resistance to adoption.
Off-the-shelf connectors assume a standard NetSuite configuration. This client’s setup was not standard. Building the integration around their actual data model, approval routing, and subsidiary structure was what made it work reliably from day one rather than requiring workarounds.
Approvals happening in Slack do not bypass NetSuite. The ERP remains authoritative. This mattered to finance for audit compliance and to IT for system integrity. The integration added convenience without removing control.
The Results
The integration went live across all three subsidiaries within six weeks of the project starting. Within the first full month of operation, the impact was consistent and clear. These are not projected numbers. They reflect what the client’s procurement and finance teams reported from their own data after go-live.
Beyond the headline figures, the informal approval chasing that had been happening over personal messaging apps stopped entirely. Finance period-end reporting became reliably accurate because the open PR backlog that had been distorting committed spend figures no longer built up. Approvers made faster decisions because the full context of the requisition was in front of them at the point of action, with nothing left to look up.
The client has since extended the same integration approach to expense authorisations, with the same results.
Before this, chasing a purchase approval took more time than the approval itself. Now the right person sees it the moment it is raised, acts on it in Slack, and the order is in NetSuite before anyone has had to follow up. It has genuinely changed how our procurement team operates, and the finance team has noticed the difference at period end as well.
Beyond This Engagement
Purchase requisition approvals are one of the most common places where NetSuite workflows stall, but they are not the only one. Any approval process that depends on people who are not regularly inside the ERP faces the same structural problem. The solution is the same: bring the action to where those people already are.
Finance teams waiting on sign-off for vendor invoices face the same notification problem. Getting the bill summary and approval buttons into Slack eliminates the same cycle of delays before payment runs.
Expense reports sitting in a manager’s NetSuite queue for days is a common complaint. The same integration model routes expense summaries to Slack and handles approval or rejection without requiring the manager to open the ERP.
Sales teams waiting on credit limit approvals or contract sign-offs lose momentum when the process is tied to NetSuite queue management. Routing these to the right person in Slack keeps deals moving.
If your teams are running NetSuite and approval delays are slowing down procurement, payments, or operations, ERP Peers can help. We work with businesses across the GCC and beyond to get more out of their NetSuite investment without replacing what is already working.