About the Client
| Client | Datacom Group — Australia & New Zealand |
| Industry | Managed IT Services | Technology solutions and outsourcing |
| Headquarters | Auckland, New Zealand | Operations across AU & NZ |
| Scale | 6,500+ employees | one of ANZ’s largest technology companies |
| SAP Role | Managed services provider supporting enterprise SAP environments for multiple clients |
| Engagement | Peritos Solutions embedded support team | Apr 2024 – Feb 2025 |
Project Background
Datacom required specialist SAP expertise to support their growing portfolio of enterprise clients running SAP S/4HANA and ECC environments. The engagement called for a team that could operate across multiple client landscapes simultaneously — delivering both planned development work and reactive BAU support without compromising quality or timelines.
Peritos Solutions was brought in to provide that depth across three core areas: custom ABAP and workflow development (including a purpose-built logistics tracking module), the integration of SAP SuccessFactors Employee Central with SAP S/4HANA for HR data synchronisation, and ongoing functional support across SD and MM modules for Datacom’s enterprise client base.
Scope & Requirements
Custom ABAP Development
- Custom logistics tracking module — purpose-built ABAP solution to track goods movement, status updates, and delivery milestones within the SAP environment
- Workflow configuration — approval workflows for purchase orders, sales documents, and logistics events using SAP Business Workflow
- Custom reports — ALV-based reporting for SD and MM business users across Datacom client environments
- User exits and BAdIs — standard process enhancements without core modification
SuccessFactors Employee Central Integration
- Design and build of Employee Central to SAP S/4HANA integration — bidirectional employee master data sync
- Field mapping between SuccessFactors HR data model and SAP HCM / S/4HANA organisational objects
- Middleware configuration via SAP Cloud Platform Integration (CPI) — IDoc and OData-based data flows
- Employee hire, rehire, transfer, and termination events handled end-to-end
- Testing across all HR event types — unit, integration, and UAT
SD & MM Module Support
- Sales & Distribution — order-to-cash support, pricing procedures, output form updates, customer master management
- Materials Management — procure-to-pay support, PO processing, GR/IV, vendor master, inventory management
- Output form maintenance — Smart Forms and Adobe Forms updates across client landscapes
- Cross-functional support — MM-FI integration, automatic account determination, GR/IR reconciliation
Ongoing BAU Production Support
- First and second-line incident management across 5+ enterprise client environments
- Root cause analysis and permanent fix delivery for recurring production issues
- System stabilisation following transport and configuration changes
- Enhancement delivery within BAU scope — minor config changes and ABAP fixes
Project Timelines
| Phase | Period | Key Activities | Status |
| Phase A | Apr – May 2024 | Onboarding, system access, landscape review across Datacom client environments, stakeholder alignment, requirement gathering | Done |
| Phase B | May – Jul 2024 | Custom ABAP development — logistics tracking module, workflow configuration, custom reports and user exits | Done |
| Phase C | Jul – Oct 2024 | SAP SuccessFactors Employee Central to SAP S/4HANA integration — data mapping, middleware setup, employee master sync | Done |
| Phase D | Oct – Dec 2024 | SD and MM module support across 5+ Datacom clients — BAU issue resolution, configuration enhancements, output form updates | Done |
| Phase E | Dec 24–Feb 2025 | Stabilisation, hypercare, documentation handover, knowledge transfer to Datacom internal teams | Done |
Results & Impact
Observability & Visibility
Assessment Report
At the start of the engagement Peritos completed a rapid landscape assessment across Datacom’s client environments:
- Risk & Gap Analysis — identified open production issues, integration gaps, and ABAP code quality concerns across client SAP landscapes before active development commenced
- Customised Assessment Report — delivered to Datacom’s delivery lead covering system health, integration readiness for SuccessFactors, and a prioritised development roadmap
- SuccessFactors integration readiness confirmed — Employee Central data model reviewed and field mapping completed before any middleware configuration began
Cloud Formation
Integration — SuccessFactors Employee Central to SAP S/4HANA
The SuccessFactors integration was the most technically complex workstream of the engagement:
- SAP Cloud Platform Integration (CPI) configured as the middleware layer — IDoc and OData-based flows connecting Employee Central to S/4HANA HCM
- All employee lifecycle events handled — hire, rehire, transfer, cost centre change, and termination synced in real time
- Zero data loss across all migration and sync workstreams — full data integrity verified at cutover
Results & Impact
| 800+
Hours delivered SAP support hours across 10-month engagement |
5+
Clients supported Enterprise clients across Datacom’s portfolio |
3+
SAP modules SD · MM · HCM · ABAP technical delivery |
10 mths
Engagement duration Apr 2024 – Feb 2025 continuous support |
Implementation
Custom Logistics Tracking Module
Peritos designed and built a purpose-built ABAP logistics tracking module within the SAP environment. The module captures goods movement events, updates delivery status at each logistics milestone, and surfaces real-time tracking information to operations teams via a custom ALV interface. Workflow triggers were configured to notify relevant stakeholders at key logistics events, reducing manual follow-up and improving fulfilment visibility across Datacom’s client base.
SuccessFactors Employee Central Integration
The Employee Central to S/4HANA integration was built on SAP Cloud Platform Integration (CPI). Peritos mapped the SuccessFactors HR data model to SAP HCM organisational objects, configured IDoc-based inbound processing for employee master data, and built OData services to handle bidirectional sync. All employee lifecycle events — hire, transfer, cost centre change, and termination — were tested across unit, integration, and UAT phases before go-live.
SD & MM Module Delivery
Functional support across SD and MM covered the full order-to-cash and procure-to-pay cycles. Peritos resolved live production issues, delivered configuration enhancements, and updated output forms (Smart Forms and Adobe Forms) across multiple Datacom client landscapes. All changes were transported through the standard Dev → QA → Production TMS process with full regression testing.
Workflow Automation
SAP Business Workflow was configured for purchase order approvals, sales document release, and logistics event notifications. Approval hierarchies were set up using customising tables, enabling Datacom’s clients to manage their own approver structures without ABAP changes. Email notifications were triggered at each approval step with configurable templates.
Application screenshots placeholder — insert logistics tracking module UI, SuccessFactors integration monitor, and custom report output here.
[ Screenshot placeholder — Custom logistics tracking module ALV interface ]
[ Screenshot placeholder — SAP CPI integration flow — Employee Central to S/4HANA ]
[ Screenshot placeholder — Workflow approval notification email output ]
Technology & Architecture
| SAP Platform | SAP S/4HANA | SAP ECC | multi-client Datacom-managed environments |
| HCM / HR | SAP SuccessFactors Employee Central | SAP HCM | employee master data sync |
| Integration | SAP Cloud Platform Integration (CPI) | Employee Central → S/4HANA | OData / IDoc |
| ABAP Development | Custom logistics tracking module | Workflow | User exits | BAdIs | ALV reports |
| Functional modules | SD (Sales & Distribution) | MM (Materials Management) | HCM |
| Forms & output | SAP Smart Forms | Adobe Forms | output determination configuration |
| Tooling | SAP Fiori | SAP Launchpad | Transport Management System (TMS) |
| Client | Datacom — Australia & New Zealand managed services provider |
Challenges
Multi-Client Landscape Management
Peritos was supporting 5+ enterprise client SAP environments simultaneously through Datacom. Each client had different configurations, transport landscapes, and business rules — requiring careful context-switching and rigorous change control to ensure no cross-client impact from any single change.
SuccessFactors Data Model Complexity
Employee Central’s HR data model is significantly more granular than SAP HCM’s organisational structure. Mapping between the two required detailed field-level analysis, handling of optional vs. mandatory fields, and careful treatment of edge cases — terminated employees, multiple assignments, and cost centre splits — before the integration could be considered stable.
Logistics Tracking — Changing Requirements
The logistics tracking module requirements evolved during development as Datacom’s client refined their operational process. Peritos managed this through iterative delivery — building a configurable customising table structure that allowed new tracking milestones and notification rules to be added without ABAP re-development.
BAU Support Across Time Zones
Datacom’s clients operate across Australian and New Zealand time zones with varying business hours. Peritos structured the support model to provide coverage across the full ANZ business day, ensuring production incidents were triaged and resolved within SLA regardless of which client environment raised them.
Integration Testing Across Environments
The SuccessFactors to S/4HANA integration required testing across three tiers — CPI tenant, S/4HANA dev/QA/prod, and the SuccessFactors test instance — with refresh dependencies between them. Peritos coordinated test cycles across all three environments to ensure integration testing was always running against consistent data sets.
Key Benefits
- Single partner, full stack — Peritos delivered ABAP, functional SD/MM, SuccessFactors integration, and workflow in a single engagement, removing the need for Datacom to manage multiple specialist subcontractors
- Purpose-built logistics visibility — the custom tracking module gave Datacom’s clients real-time fulfilment visibility without requiring a third-party logistics platform
- Seamless HR data flow — Employee Central to S/4HANA integration eliminated manual HR data entry and ensured payroll and organisational data was always in sync
- 800+ hours of delivered value — consistent, high-quality output across a 10-month engagement with no resource gaps or delivery delays
- Scalable workflow framework — configurable approval tables mean Datacom’s clients can self-manage approver hierarchies going forward without SAP developer involvement
- Zero production incidents caused — all 800+ hours of development and configuration change delivered into production without raising a single regression issue
Post-Delivery Support
Stabilisation & Hypercare
The final phase of the engagement (Dec 2024 – Feb 2025) was dedicated to stabilisation, hypercare, and knowledge transfer. Peritos resolved all outstanding issues, documented the logistics tracking module and SuccessFactors integration architecture, and conducted handover sessions with Datacom’s internal SAP team to ensure ongoing supportability after the engagement concluded.
All workstreams were closed with full documentation and a clean production environment handed back to Datacom.
About the Client
| Client | Big 4 professional services firm (name withheld by mutual agreement) |
| Industry | Professional Services | Global consulting, audit & advisory |
| Scale | Global enterprise — 100,000+ employees across multiple countries |
| SAP Landscape | SAP S/4HANA + SAP ECC (dual-environment) |
| Engagement | Embedded support team | 8+ months | ongoing BAU |
| Delivered by | Peritos Solutions |
Project Background
The client required a reliable, skilled SAP support partner to embed within their delivery teams and provide ongoing technical and functional expertise across their SAP S/4HANA and ECC environments. The engagement covered multiple workstreams running in parallel — from front-line production issue resolution through to planned enhancements and integration development.
Peritos Solutions was engaged as an extension of the client’s internal SAP team, providing specialist knowledge across Sales & Distribution, Materials Management, and ABAP development — alongside Fiori-based UI delivery and SAP Cloud Gateway integration work. The engagement evolved over 8+ months from initial onboarding into a stable, long-term BAU support model.
Scope & Requirements
Functional — Sales & Distribution (SD)
- Order-to-cash process support — sales orders, deliveries, billing, and output
- Pricing procedure configuration and condition type management
- SAP Smart Forms and Adobe Forms updates for sales output documents
- Fiori app configuration and SAP Launchpad setup for SD business users
- Credit management, partner function, and customer master support
Functional — Materials Management (MM)
- Procure-to-pay process support — purchase requisitions, POs, GR, and invoice verification
- Vendor master management and purchasing organisation configuration
- Inventory management, stock transfers, and movement type configuration
- MM-FI integration — automatic account determination and GR/IR reconciliation
Technical — ABAP & Integration
- Custom ABAP report development — ALV-based and classical
- User exits, BAdIs, and enhancement spots for standard process modification
- SAP Cloud Gateway OData service development and maintenance
- Enterprise interface connectivity — ensuring stable data flow across platforms
- Data migration workstreams — legacy extraction, field mapping, BAPI-based load, cutover
Ongoing BAU Production Support
- First and second-line incident management across SD and MM modules
- Root cause analysis and permanent fix delivery for recurring issues
- System stabilisation following upgrade and transport activities
- Performance monitoring and proactive issue identification
- Enhancement delivery — minor config changes and ABAP fixes within BAU scope
Project Timelines
| Phase | Period | Key Activities | Status |
| Phase A | Month 1 | Onboarding, system access, requirement gathering, environment review (S/4HANA & ECC), stakeholder alignment | Done |
| Phase B | Months 2–3 | SD module support — order-to-cash config, pricing procedures, output forms, Fiori app delivery | Done |
| Phase C | Months 3–4 | MM module support — procurement cycle, purchase orders, goods receipt, invoice verification | Done |
| Phase D | Months 4–5 | ABAP development — custom reports, user exits, BAdIs, SAP Cloud Gateway integration | Done |
| Phase E | Months 5–6 | Data migration workstreams — legacy data extraction, mapping, validation, cutover support | Done |
| Phase F | Months 6–8+ | Ongoing BAU production support — issue resolution, enhancements, stabilisation, system monitoring | Ongoing |
Results & Impact
Observability & Visibility
Assessment Report
At the start of the engagement Peritos conducted a rapid environment assessment covering:
- Risk & Gap Analysis — identified open incidents, unstable transports, and configuration gaps across SD and MM before active support commenced
- Customised Assessment Report — delivered to the client’s delivery lead within 2 weeks, covering system health, outstanding issues, and a prioritised support roadmap
- Landscape documentation — dual S/4HANA / ECC environment mapped and confirmed before any changes were applied
Cloud Formation
Integration — SAP Cloud Gateway
Peritos delivered integration work via SAP Cloud Gateway throughout the engagement:
- OData services designed, built, and tested for Fiori app consumption
- Enterprise interface connectivity maintained — stable data flow across all integrated platforms confirmed with zero data loss
- Data migration workstreams executed — legacy data extracted, mapped, validated, and loaded via BAPI with full cutover support
Key Outcome Metrics
| 8+
Months
Continuous production support across S/4HANA & ECC |
3
SAP modules
Full SD, MM and ABAP technical coverage delivered |
100%
Issues resolved
All BAU tickets closed within agreed SLA windows |
2
Languages
Fiori apps and forms delivered in EN & DE |
0
Data loss
Zero data issues across all migration workstreams |
Implementation
SD Module Delivery
Peritos provided functional and technical support across the full order-to-cash cycle. Key deliveries included pricing procedure updates, output form revisions in SAP Smart Forms and Adobe Forms, Fiori app configuration for SD users, and credit management configuration. All changes were transported through the client’s Dev → QA → Production landscape with full regression testing.
MM Module Delivery
Materials Management support covered the complete procure-to-pay cycle. Peritos resolved live production issues around purchase order processing, goods receipt, and invoice verification — as well as delivering configuration enhancements to purchasing org structure, vendor master data, and automatic account determination for MM-FI integration.
ABAP Development
Technical ABAP development was delivered throughout the engagement. Peritos built custom ALV reports for SD and MM business users, implemented user exits and BAdIs to extend standard SAP behaviour without modification, and developed OData services via SAP Cloud Gateway to support Fiori front-end applications. All code was transported using the client’s standard TMS process.
Data Migration
Data migration workstreams ran in parallel with BAU support. Peritos handled legacy data extraction, field mapping design, load program development using BAPI and LSMW, and cutover execution — ensuring zero data loss and a clean migration into the production environment.
Fiori & UI5
Fiori-based work included SAP Launchpad configuration, tile and group setup for SD and MM business roles, and OData backend development to support UI5 app consumption. Forms and app content were delivered in both English and German to support the client’s multi-language user base.
Application screenshots placeholder — insert production Fiori launchpad, custom ABAP report output, and SAP Smart Form examples here.
[ Screenshot placeholder — Fiori Launchpad configuration for SD business users ]
[ Screenshot placeholder — Custom ABAP ALV report output ]
[ Screenshot placeholder — SAP Smart Form / Adobe Form output ]
Technology & Architecture
| SAP Platform | SAP S/4HANA | SAP ECC | dual-environment support |
| Functional modules | SD (Sales & Distribution) | MM (Materials Management) | cross-functional FI/CO integration |
| Technical layer | ABAP OOP | User Exits | BAdIs | Enhancement Spots | Custom reports |
| Integration | SAP Cloud Gateway | OData services | Enterprise interface layer |
| Frontend | SAP Fiori | UI5 apps | Launchpad configuration |
| Data migration | Legacy data extraction | field mapping | LSMW / BAPI-based load | cutover support |
| Forms & output | SAP Smart Forms | Adobe Forms | SAPscript | multi-language (EN / DE) |
| Client | Big 4 professional services firm (name withheld by agreement) |
Challenges
Dual-Environment Complexity
The client operated both SAP S/4HANA and ECC environments simultaneously. Changes needed to be compatible across both landscapes — requiring careful analysis of version-specific behaviour differences, particularly for ABAP enhancements and output form processing.
Big 4 Governance & Change Control
Operating within a Big 4 firm meant strict change management processes — all changes required formal documentation, approval gates, and transport sign-off before reaching production. Peritos adapted quickly to the client’s governance model, ensuring all deliverables met audit and compliance requirements.
Parallel Workstreams
SD, MM, ABAP development, data migration, and BAU support ran concurrently throughout the engagement. Prioritisation and clear communication with the client’s delivery lead were critical to ensuring nothing was delayed or de-prioritised without visibility.
Knowledge Transfer at Onboarding
Peritos joined mid-flight on an existing landscape with limited documentation. A rapid environment assessment in the first two weeks was essential to establish system health, identify known issues, and build the working knowledge needed to support production from day one.
Multi-Language Output Requirements
Forms and Fiori app content were required in both English and German. SAP output form logic had to be carefully structured to route the correct language version based on document type and recipient — requiring additional testing effort across all SD output scenarios.
Key Benefits
- Embedded expertise — Peritos functioned as a seamless extension of the client’s internal SAP team across all modules and environments
- Breadth of coverage — a single engagement delivered SD functional, MM functional, ABAP technical, Fiori, integration, and data migration capability
- Stable production — 8+ months of BAU support with all incidents resolved within SLA, zero data loss across migration workstreams
- Big 4 governance-ready — all deliverables met the client’s strict change control, documentation, and audit requirements
- Rapid onboarding — environment assessment completed within 2 weeks, with active production support commencing immediately after
- Multi-language delivery — forms and Fiori content delivered in English and German without additional scope or timeline impact
About the Client
BAC Partners is an Australian digital transformation and customer experience consultancy that helps organizations improve sales, marketing, customer service, and business operations through strategy, process optimization, CRM platforms, and automation solutions. The company specializes in designing and implementing customer-centric technology solutions that enable businesses to scale, enhance customer engagement, and drive operational efficiency across multiple industries. Their expertise spans customer experience transformation, go-to-market strategy, CRM implementation, marketing automation, and managed services.
https://www.bac.co/
Project Background
BAC Partners required a CRM visibility layer for a dental practice group client whose operational data resided in SAP Business One. The sales and marketing teams needed that data surfaced in HubSpot in a structured, clean format that was automatically kept up to date without manual exports or re-keying.
The challenge was architectural, as SAP and HubSpot use different data models. The solution required an intermediate MySQL staging database (DB-2) to normalize SAP data, apply custom business rules including RFM scoring, and push the processed information into HubSpot’s three core CRM objects. BAC Partners also required the application to be Python-based and configuration-driven, enabling it to be replicated across future client engagements by simply updating a configuration file.
Scope & Requirements
In Scope
- Create and populate MySQL DB-2 from SAP DB-1 (companies, contacts, and deals) using defined business rules.
- CRON-scheduled batch jobs to continuously sync DB-1 to DB-2 (companies every 8 hours, deals every 8 hours, and RFM daily).
- HubSpot API integration for Companies, proxy Contacts, and Deals objects.
- Calculated fields including Days Since Last Order, Lifetime Order Count, Lifetime Revenue, and RFM Score.
- Parent-child company relationship mapping using FatherCard.
- Change-pointer logic to update modified records in HubSpot (Phase D).
- Full dataset migration: 5,754 companies, 5,346 contacts, and 147,398 deals.
- One week of post-go-live hypercare and full documentation handover.
Out of Scope
- UI or portal development.
- Performance and functional testing beyond the agreed unit test cases.
- Custom HubSpot API modifications.
- Changes to DB-1 (SAP source system).
Project Timelines
|
Phase |
Key Deliverables |
Status |
|
Phase A |
Requirement gathering, SSH & DB access, data mapping analysis, HubSpot field configuration, scope sign-off |
Done |
|
Phase B |
DB1→DB2 Python pipeline, CRON batch jobs, RFM calculation logic, unit testing |
Done |
|
Phase C |
HubSpot API integration (companies, contacts, deals), relationship linking, bug fixes, 1k-record test push |
Done |
|
Phase D |
Change-pointer sync, full dataset migration (5,754 companies · 5,346 contacts · 147k+ deals), daily RFM update, hypercare |
Done |
Results & Impact
Observability & Visibility
Assessment Report
Phase A delivered a comprehensive assessment before any code was written, including:
- Risk & Gap Analysis — identified data quality issues such as missing emails, blank company names, malformed domain names, and the HubSpot item code limit of 5,000 versus 5,577 SAP entries. All issues were resolved through agreed mitigation strategies.
- Customized Data Mapping Report — full field-level mapping was signed off across Companies, Contacts, and Deals, with business rules confirmed by BAC Partners.
- API rate limit validation — confirmed that HubSpot’s limits of 100 requests per second and 250,000 daily requests were sufficient for the dataset before pipeline development commenced.
Cloud Formation
Integration Architecture
Below is the high-level architecture diagram.

Outcome Metrics
|
✔ Full Visibility Assessment & data-mapping report with risk/gap analysis signed off before a line of code was written. |
☁ Cloud-Native Pipeline Python-based sync on Ubuntu cloud — config-driven for multi-instance reuse across BAC Partners clients. |
⚡ 6-Week Delivery All four phases from requirement gathering to full dataset go-live completed in under six weeks. |
Data Mapping
Deal Field Mapping (SAP → HubSpot)
|
HubSpot Field |
SAP Column |
Business Rule |
|
Deal Name |
DocNum |
Prefix “DocNum: ” prepended to value |
|
Deal Stage |
— |
“Customer Invoiced” (fixed value) |
|
Close Date |
DocDate |
Direct mapping |
|
Company |
CardCode |
Linked to initialised company record |
|
Amount |
— |
Sum of (Price × Qty) across all line items per DocNum |
|
Product Brand |
U_Brand |
All unique U_Brand values per DocNum |
|
Product Category 1 |
U_Group5 |
All unique U_Group5 values per DocNum |
|
Product Category 2 |
U_Group2 |
All unique U_Group2 values per DocNum |
|
Product Category 3 |
U_Group3 |
All unique U_Group3 values per DocNum |
Contact Field Mapping (SAP → HubSpot)
|
HubSpot Field |
SAP Column |
Business Rule |
|
First Name |
— |
“Proxy” — fixed value for all integration-generated contacts |
|
Last Name |
CardName |
Direct mapping |
|
|
E_Mail |
From OCRD table; omitted if missing or malformed |
|
Company |
CardName |
Link to existing HubSpot company — all companies initialised first |
Company Field Mapping (SAP → HubSpot)
|
HubSpot Field |
SAP Column |
Business Rule |
|
Card Code |
CardCode |
First unique CardCode used as primary key |
|
Company Name |
CardName |
Direct mapping; falls back to CardCode if blank |
|
City / State / Country |
City/State/Country |
Direct mapping |
|
Phone |
Phone1 |
Direct mapping |
|
Website URL |
IntrntSite |
Direct mapping |
|
Parent Company |
FatherCard |
Child-to-parent association — all companies initialised first |
|
Days Since Last Order |
— |
Calculated: days between most recent invoice date and run date |
|
Lifetime Order Count |
— |
Total non-cancelled invoice count per company |
|
Lifetime Revenue |
— |
Sum of (Price × Qty) across all non-cancelled invoices |
|
RFM Score |
— |
(1/R) × F × √M where R=days since last order, F=order count, M=lifetime revenue |
Implementation
Phase A — Assessment & Data Mapping
Established SSH and SQL Server access to the SAP environment. Mapped all HubSpot fields against SAP CMS columns, configured custom HubSpot properties (Card Code, RFM Score, Days Since Last Order, and Lifetime Revenue), confirmed API key access, and validated sample RFM calculations against client-provided reference values.
Phase B — DB-1 → DB-2 Pipeline
Built Python extraction scripts to pull company and deal data from SAP SQL Server into MySQL DB-2. Implemented RFM calculations with corrected Price × Quantity multiplication (9-decimal precision). Configured CRON jobs for automated synchronization and validated data counts of 6,086 company records and 485,820 total deal records.
Phase C — HubSpot API Integration
Developed createCompany.py and createDeals.py to push staged data from DB-2 into HubSpot through REST APIs. Key implementation details included:
- Proxy contact creation — one contact per company email address, with “Proxy” used as the first name as per BAC Partners’ specification.
- Child-to-parent company association using FatherCard, ensuring all companies were initialized before relationships were established.
- Deal-to-company and deal-to-contact linking.
- Duplicate email handling, where HubSpot API errors were gracefully managed and contacts linked to the first-created record.
- CardName fallback, where blank company names used CardCode as the contact identifier.
A 1,000-record subset was migrated initially, resulting in 762 deals, 307 companies, and 263 contacts being created. All field mappings were verified in the HubSpot interface before proceeding with the full migration.
Phase D — Change Sync & Full Migration
Implemented change-pointer logic using last-modified columns from DB-1. Added a daily RFM refresh script (updateCompanyRFMvalues.py) scheduled to run at 5:00 AM to keep Days Since Last Order and RFM scores current. The full dataset migration was executed on 21 October 2019, successfully migrating 5,754 companies, 5,346 contacts, and 147,398 deals, with all relationship links and parent-child hierarchies verified in HubSpot.

Technology & Architecture
|
Source (DB-1) |
SAP Business One (SAP CMS) | SQL Server | OINV · INV1 · OCRD · OITM tables |
|
Staging (DB-2) |
MySQL on Ubuntu 18.04 cloud server | 3 tables: Company · Deal · Calculated Columns |
|
Language |
Python 3 | Config-driven via config.ini | replicable across multiple client instances |
|
CRM Target |
HubSpot CRM | Companies · Contacts · Deals | HubSpot REST API v1 |
|
Scripts |
getDataFromSAP.py | getDataForDealsMapping.py | pushCompaniesInMySQLCron.py | pushDealsMappingInMySQLCron.py | updateCompanyRFMvalues.py |
|
CRON Schedule |
Companies: 1 AM daily | Deals: 3 AM daily | RFM update: 5 AM daily |
|
Source Control |
GitHub — BACPARTNERS/CDT-SAP-HS-INTEGRATION |
|
Testing |
Postman (HubSpot API validation) | SQL queries | Manual HubSpot UI verification |
Challenges
HubSpot Item Code Property Limit
HubSpot multi-select properties support a maximum of 5,000 options. The SAP dataset contained 5,577 item codes, causing API failures. Resolved by removing item code field mapping from scope by agreement — no impact on core integration value.
Data Quality — Emails, Blank Names, Domain Validation
39 contacts had missing or malformed email addresses; several companies had no CardName; SAP’s IntrntSite field contained email addresses that HubSpot rejected as invalid domains. Resolved with three targeted code rules: skip email field if invalid, fall back to CardCode for blank names, and exclude Company Domain Name from mapping by client agreement.
Duplicate Contact Handling
Multiple companies shared the same email address (e.g. two dental practices using the same reception inbox). HubSpot’s API returns an error on duplicate email creation. Resolved by catching the error in code and proceeding — the contact is associated with the first-created record, and the duplicate is not re-created.
RFM Calculation Accuracy
Initial RFM values were incorrect due to missing Price × Qty multiplication in the SQL query. Resolved by correcting the query and increasing decimal precision to 9 places, aligning output exactly with BAC Partners’ validation figures.
Compressed Six-Week Timeline
All four phases were delivered within six weeks with 2–3 day feedback cycles, iterative code commits to GitHub, and proactive scope-change estimates before any out-of-scope work began.
Key Benefits
- Automated CRM accuracy — HubSpot reflects SAP data continuously with no manual exports, eliminating data lag and re-keying errors.
- Config-driven reusability — the same codebase serves any client by updating
config.ini; BAC Partners can deploy this for future engagements without re-architecting. - Revenue intelligence in HubSpot — RFM score, lifetime revenue, and days since last order provide GTM teams with instant customer tiering inside their existing CRM.
- Full company hierarchy — parent-child dental group structures are preserved and navigable in HubSpot.
- Zero middleware cost — pure Python on Ubuntu with no Informatica, MuleSoft, or iPaaS licensing fees.
- Fully auditable — all scripts are maintained in GitHub with inline comments, and CRON execution is logged to
/usr/logs/.


Post-Go-Live Support
Hypercare Period
A dedicated one-week hypercare period was provided following the full-dataset go-live. All Phase D test scenarios (15 test cases) were completed successfully with a pass status. The CRON schedule was fine-tuned, all identified issues were resolved, and complete installation and configuration documentation was handed over to BAC Partners.
About Client
MBHE is a 150-year-old company that focuses on plant engineering and construction. They pursue technical leadership in their market sector through continuous research and development. They offer solutions to support complete mineral beneficiation plants and coal washeries.
- http://mbe-cmt.com/
- Location: Cologne, Germany
Project Background – SAP Support Services
MBE’s requirement was to help with SAP systems and manage important changes within their standard processes. Read more about how we provided SAP support services involving specific changes related to workflows, updating SAP forms for sales orders, invoices, and purchase orders. We also assisted with financial reconciliation, including clearing the previous financial year’s data and settling the books.
Scope & Requirement
Below are some of the scope items for the SAP support services we provided:
- Understand the existing books outside of SAP and compare them with what exists in the system. Confirm the AS-IS and TO-BE states of the chart of accounts that would be reflected.
- Set up the refresh of data from the SAP Production environment to the Development environment, ensuring all configurations and data are copied over, and create additional client systems such as 100 and 110.
- Clean up accounts receivable and payable, general ledger, sub-ledger, and registers.
Implementation

Technology and Architecture
Technology
- SAP R/3 system was used.
Integrations
- No specific integration scenario was in scope.
Security
- User authorization and access were cleaned up.
- Developer and admin roles were defined for workflow tables and system management.
- Custom roles were created, and admin users were trained on how to manage the system and grant roles and permissions.
- Organization structures were set up with hierarchies for approvers, managers, organizational units, and employees.
Backup and Recovery
- We created a backup schedule that can be used to restore system data as needed in case of any outage.
Scalability
- This was not in scope.
Cost Optimization
- The client was using a perpetual license, and SAP was running on an existing on-premises server. We informed the client about migrating to the cloud, but this proposal was not converted.
Code Management, Deployment
- All ABAP code was managed within SAP, and no other ABAP tool was used.
Features Implemented – SAP Support Services
- SAP ABAP-based development for updating SAP Script forms, Adobe forms, and implementing changes such as new payment terms, updating standard text, and adding previous invoice details to display purchase history.
- SAP accounts payable and receivable reconciliation for mapping different entries in the system.
- User and security management to help manage the systems more effectively through system refresh activities.
- Adding new payment terms in the system and updating payment terms with discounts and late fees for both vendors and customers.
- Adding a workflow table where approvers were defined based on amount and hierarchy level. The document creation process was updated to trigger approval workflows during sales invoice and sales order creation. If any changes were made to the document, email outputs were prevented until approval was completed.
Challenges
- Changing Business Requirements: The client was not clear on how they wanted the documents to appear. Their TO-BE version differed significantly from the existing system, resulting in multiple iterations and PDF updates to understand the requirements.
- Before starting development, we spent several hours creating mock-ups of PDF documents using actual system data to validate the requirements.
- Lack of Team Members and Ownership: The client did not have an internal team of functional consultants, technical resources, or testers to review changes and provide timely feedback.
- We advised the client on various testing scenarios as part of unit testing; however, obtaining feedback and completing testing was a time-consuming process.
- Outdated Code Using SAP Scripts and Multiple Language Support: The client used SAP Scripts, which had largely been replaced by Smart Forms or Adobe Forms. The solution also required support for multiple languages and multilingual email notifications.
- Copies of the data for both languages were used to create PDF mock-ups. Different scenarios were designed to determine when notifications should be sent in German or English and what text content should be included.
- Budget and Cost Issues: The client had a fixed budget, while requirements continued to evolve. Delays in feedback also caused prolonged waiting periods.
- Certain sales order and invoice types had different configurations and did not work with the same code deployment. Although these requirements were outside the initial scope, we made every effort to accommodate them within the agreed budget.
Support
- For all delivered changes, we agreed to provide two weeks of free support during which the client could test the solution and provide feedback regarding any issues related to the existing logic or request minor changes if required.
Next Phase
We were in discussions with the client regarding multiple projects; however, none of them were finalized.
- Migration of SAP systems from the current on-premises environment to the cloud.
- A 12-month AMC support contract with a fixed cost model. However, the scope was not clearly defined for modules such as FI, MM, SD, and user management.
- Regular refreshes of the current systems from the Production environment to the Development environment.

About Client
DEEPIQ simplifies industrial analytics and offers the only self-service application for end-to-end (Data + AI) OPs for the industrial world. With this app, your SMEs can digitize their expertise, and your data teams can build and deploy robust analytic pipelines.
- https://deepiq.com/
- Location: Have Offices Globally in USA, India, Canada
Project Background
DeepIQ required a proof-of-concept integration layer to extract Vendor master data and Work Order information from their SAP system and expose it to external applications. The goal was to evaluate viable integration patterns — SOAP, REST, BAPI/RFC — and deliver a working, reusable service layer that could be extended to production.
The project was executed by Peritos Solutions under a phased delivery model, beginning with an assessment and requirement-gathering sprint before moving into build and testing phases.
Scope & Requirements
In Scope
- Integration of Vendor master data (list and detail) from SAP
- Work Order data retrieval filtered by vendor number and date range
- Custom BAPI development with up to 10 input fields and up to 50 output fields
- SOAP web service (WSDL) exposure via SAP transaction SE37 / simplified web service
- REST-based service exposure via SAP SICF (z_ven_wrk_ords)
- Unit testing via SOAP UI and Postman
- JSON output serialisation using /ui2/cl_json
- 1 week of post-delivery hypercare support
Out of Scope
- Production deployment and middleware (Informatica/MuleSoft) configuration
- Customer master beyond the agreed POC scope
Project Timelines
| Phase | Duration | Key Deliverables | Status |
| Assessment | < 2 wks | Requirement gathering, SAP system access, Risk & Gap Analysis, Customised Assessment Report | Done |
| Phase B | 2–3 wks | Custom BAPI design, ABAP OOP coding, WSDL web service exposure, SOAP UI unit testing | Done |
| Phase C | 2–3 wks | REST-based SICF service (z_ven_wrk_ords), JSON output, Postman testing, 1-week support | Done |
| Hypercare | 1 wk | Post-go-live support, bug fixing, documentation handover | Done |
Results & Impact
Observability & Visibility
Assessment Report
A comprehensive assessment was completed in under two weeks. This included:
- Risk & Gap Analysis — identifying SAP version constraints, authentication settings, and BAPI structural gaps
- Customised Assessment Report — delivered to the client with architecture recommendations and approach sign-off
- Integration approach validated against SAP R/3 / S/4HANA constraints before any code was written
Cloud Formation
Integration — Delivered in < 2 Weeks per Phase
Each integration phase was scoped, built, and tested in a rapid sprint cadence:
- Phase B — SOAP/WSDL: Custom BAPI (Z_VEN_WRK_ORDS) created with ABAP OOP, exposed as a simplified web service. Vendor list and detail endpoints validated via SOAP UI.
- Phase C — REST: Wrapper class implementing IF_HTTP_EXTENSION registered as a SICF service. JSON responses verified via Postman for vendor list, vendor detail, and work-order queries.
Key Outcome Metrics
| ✔ Observability & Visibility
Full assessment report delivered with risk & gap analysis within 2 weeks. |
☁ Cloud-Ready Integration
REST & SOAP web services exposed from SAP — ready for cloud consumption. |
⚡ Rapid Time-to-Value
Custom BAPI developed & tested end-to-end in under 8 weeks. |
Implementation
Architecture Overview
Below is a high level Architecture Diagram overview

Technology & Architecture
| SAP Core | SAP R/3 · S/4HANA | ABAP OOP | BAPI / RFC |
| Integration | SOAP Web Services (WSDL) | REST / HTTP (SICF) | JSON |
| Tooling | SOAP UI | Postman | Informatica ETL |
| Data Scope | Vendor Master | Customer Master | Work Orders |
| Auth | HTTP Basic Auth | Service User credentials |
| Output Format | JSON (serialised via /ui2/cl_json) | XML / WSDL |


Challenges
Authentication Configuration
SAP’s web service authentication settings required careful tuning. Multiple configurations were tested before identifying the correct combination of HTTP handler and service user credentials that allowed external SOAP calls to succeed.
Date Filter Logic
Initial work-order retrieval returned data outside the requested date range. The ABAP selection logic was corrected to enforce strict date boundary matching (GSTRP GE i_start AND GSTRP LE i_end), and output dates were reformatted to DD/MM/YYYY.
Vendor Number Formatting
Vendor numbers required CONVERSION_EXIT_ALPHA_OUTPUT normalisation to strip leading zeros and match expected formats in the consuming application.
Compressed Timeline
All three phases were delivered in parallel with the client’s internal scheduling constraints, requiring iterative development with 2–3 day feedback cycles and daily stand-ups.
Key Benefits
- Reusable service layer — both SOAP and REST endpoints can be extended to additional SAP objects without re-architecture
- Zero middleware dependency — services are natively exposed from SAP, removing Informatica licensing requirements for the POC
- Rapid time-to-value — working, tested integration delivered in under 8 weeks from initial engagement
- Comprehensive documentation — WSDL definitions, ABAP code bundle, unit test evidence, and architecture notes handed over at project close
- Clean handover — 1-week hypercare period with all bugs resolved (100% test pass rate)
Post-Go-Live Support
Hypercare Period
A dedicated one-week hypercare period was included post-delivery. During this period DeepIQ resolved all outstanding defects, provided guidance on SAP navigation, and completed final documentation. All six functional test scenarios and both raised bugs were closed with a Pass status before handover.
Application screenshots are included below as placeholders — replace with actual Postman / SOAP UI test captures.
About Client
Afghanistan Holding Group has a team of 300 highly qualified Afghan professionals who provide turnkey business services to over 700 international clients. They provide services like accounting, audit, insurance, tax, consultancy and advisory.
- https://ahg.com.af/
- Location: Kabul, Afghanistan
Project Background- SAP Implementation for Enterprise
Afghanistan Holding Group was looking for SAP Implementation for Enterprise wide rollout.
Requirement was to optimize the internal processes for SAP core modules to be implemented and help manage the processes more effectively. They were further looking to transform their business models and operations with the help of SAP S/4 Implementation and be able to show more visibility to the stakeholders on the day to day operations.
Scope & Requirement
High level Project Requirement for SAP implementation for Enterprise wide roll out were as below
- To install, setup and implement SAP S4HANA for a small business of 300 employees that is currently using QuickBooks.
- On premise licenses already purchased and a module list with features was shared
- They mostly required everything set on standard forms, processes and reports. No custom forms, processes, reports will be needed.
- One SAP HANA certified server was already purchased and on premise, 4 virtual machines were to be setup.
Implementation

Technology and Architecture
Technology
- ERP implementation required
- SAP System S/4
- Database HANA
- Web App : Fiori
- Hosting : On premise
- Managing VM – Vmware, Suse Linux
Integrations
- For the initial implementation it was a standalone system
Security:
- User role group and custom authentication code assigned to the different users
- Admin users identified and assigned the right roles
- Roles assigned specific to department like sales, purchasing and Finance
Backup and Recovery
System was tested for snaphsots to be taken every weekend and at every end of day. DR and Backup testing was done as part of the handover.
Scalability
Relied on HANA native capability to sustain memory-intensive processing logic.
Cost Optimization
Not in scope as the customer had on-premise system and license was directly procured from SAP.
Code Management, Deployment
- NA as only standard functionality was used.
Features of SAP Implementation for enterprise
- SAP system was implemented which had comprehensive business processes mapped to the tool for Sales, Purchasing, Finance, core order-to-cash, procurement and a platform for integration at a later date when client was ready
- Improved and Faster analytics and reporting where the data being input was processed for multiple reports and made it easier to analyze performance, determine pain points, and initiate improvements
- Included SAP business Suite with embedded modules for ERP, CRM, SRM, SCM, PLM co-deployed in the single instance
Challenges
- Challenges faced in rollout for SAP implementation for Enterprise project
- This was a straightforward implementation where we were able to install the SAP system from the application file and database however in trying to do backup and DR testing we ran into space-related issues as the log and snapshots quickly filled up all the space available
- It was informed to the client and the hard disk space had to be monitored closely.
- To install the application at the right path and to create seperate client for Dev, QA and Prod we were not having enough disk space and we also informed client to have them on a seperate server
- It was decided to create a partition and do multipathing and logical volume grouping so the system can have different client versions.
- End users after implementing the S4 Hana system were not comfortable with the GUI based window and tcodes which had to be entered to navigate around in the system
- A few training plans were made to help them understand the SAP system, Also the option of moving away from Tcode based approach to the Fiori Tile-based model however this would have delayed the project Go live plan hence was parked for later. So the client, for now, continued to up skill the existing resources and Peritos assisted wherver any help was needed.
Support
- As part of the project implementation we provided 1 month of extended support. This includes any Major / Minor bug fixes. Questoions specific to the implementation and any system outages etc being faced
Next Phase – SAP Implementation For Enterprise
- Support for helping the end user to understand the SAP systems , adding documentation and mapping the sales , purchasing and finance processes in the system
- Helping some other customer of the client to upgrade SAP systems
- Client was keen to map thier processes to the SAP system and evaluate the option for Integration, reporting and Mapping the current business process to the new system. This was under discussion.










