Data ProcessingDigitalizationDPDInnovations

Invoicing a standalone invoicing subsystem of ODS with integration to JDE

Invoicing is now fully integrated into the production environment of DPD Netherlands and exclusively prepares data for contract customers within this country.
  • For DPD, we designed and delivered a standalone invoicing module called Invoicing, which handles the complete processing of input data required for invoicing, exports it to the JDE system, and processes the resulting invoicing output data in return.
  • The module is designed as an autonomous solution that sources data from the rest of the ODS system while storing it in its own database. This architecture ensures a high level of independence, sustainability, and readiness for future technological changes.

The Challenge

DPD faced a challenge related to the use of an outdated, unsupported, and technologically obsolete system responsible for generating invoicing data. The legacy system did not allow for easy modifications, was difficult to scale, and offered very limited integration capabilities with modern platforms.

The goal of the project was to replace this inadequate system with a new solution that would:

  • be technologically sustainable and independent from core databases,
  • ensure error-free and automated export of invoicing data to the JDE system,
  • be ready for future changes (such as a database platform switch),
  • provide an interface for monitoring, management, and reinitialization of the invoicing process,
  • and support integration with other systems (e.g., the Insights portal).

Our Solution

The solution was a new Invoicing module implemented as part of the ODS platform, but with its own dedicated database DPD_INVOICING. Development was based on a thorough analysis of documentation and process models provided by DPD Netherlands. The entire design was continuously reviewed and discussed during multiple analytical meetings, and implementation started after formal approval from the client.

Solution Architecture:

  • Autonomous Database – The DPD_INVOICING database is separated from the main ODS database (DPD). Certain data is stored redundantly to ensure minimal dependency on the rest of the system.
  • Data Collection – The module independently retrieves data about shipments, parcels, scans, surcharges, and services from ODS, and builds its own data structures to calculate invoice line items.
  • Post-PLC Calculations – After the parcel lifecycle is closed (ParcelLifecycleClosedMessage), the preparation of invoicing data begins, including the creation of ParcelInvoiceLines.
  • Aggregation and Export – In defined invoicing cycles (monthly, bi-monthly, weekly), data is grouped, InvoiceOrder is created, and the data is exported to the JDE system via the BUDaH API.
  • Importing Results from JDE – Once processed in JDE, the final invoicing data is returned to ODS, matched with the corresponding shipments, and displayed in the user interface.

Technologies Used

Selected tech stack, tools, and frameworks to ensure scalability, performance, and long-term reliability.

Angular

Angular

Azure

Azure

Azure DevOps

Azure DevOps

C#

C#

HTML 5

HTML 5

Java

Java

Kubernetes

Kubernetes

Python

Python

Selenium

Selenium

SQL

SQL

Impact and Benefits

The solution modernized the invoicing architecture, enhancing system resilience and scalability through automation, bidirectional integrations, a standalone data layer, and integration-ready APIs.

  1. Modernization of Invoicing Processes
    The customer gained a modern, sustainable, and scalable system that replaces the legacy invoicing tool. This eliminated the risk of outages and incompatibility with the rest of the IT environment.
  2. Bidirectional Integration with JDE
    Automated transmission of invoicing data to JDE via BUDaH, as well as backward import of invoicing results. Data is aggregated after PLC closure and processed within defined billing cycles.
  3. Standalone Database = Higher Independence
    The module uses a dedicated DPD_INVOICING database, separated from operational data. This simplifies future migrations to a different database type or transition to a standalone system.
  4. Flexible Configuration via UI
    The OPS Toolkit user interface allows users to configure products, edit lookup tables, review batches, and mark shipments for reinitialization. The processing logic is split into configurable blocks.
  5. Detailed Data Processing
    The module generates ParcelInvoiceLines, ParcelInvoiceLineGroups, InvoiceOrders, and InvoiceOrderBatches. Each step is message-driven and linked to statistics and status reporting to ensure complete control over the invoicing cycle.
  6. Automation of Supporting Processes
    The system includes auxiliary automated tasks such as importing high insurance data, updating configuration values, or pre-calculating selected values during the parcel lifecycle.
  7. Ready for Future System Integrations
    Exported data is available via API, enabling use by other systems — for example, the Insights customer portal. Integration readiness was one of the key objectives of the solution design.

references

Related case studies

PUDO – Pick Up Drop Off map for DPD in 90 days

Data ProcessingDigitalizationDPDInnovations

Client Workstation Migration at Volkswagen Slovakia: Transition to the Unified i.do Client

AutomotiveDigitalizationSharePoint

Transition of STRABAG to the Microsoft 365 Environment

DigitalizationInnovationsM365

Get in touch with us

Do you have an idea that you want to implement or a problem that needs solution? Do you want to focus on your business and not the IT supporting it? Get in touch with us and let‘s do great things together.

Information on the processing of personal data - contact form

If you use our contact form, we will process your personal data to the extent of the data you have provided in the form (name and surname, contact details, or link to the company if you are the contact person of a legal entity or other data specified in your message) for the purpose of handling the request for information (inquiry/question) submitted via the contact form on the website of the controller.

In accordance with Regulation (EU) 2016/679 of the European Parliament and of the Council of 27 April 2016 on the protection of natural persons with regard to the processing of personal data and on the free movement of such data and repealing Directive 95/46/EC (General Data Protection Regulation) (hereinafter also referred to as the “GDPR”), we hereby inform you about the terms and conditions of the processing of your personal data. 

Identification data of the controller: the company ForesServices, s. r. o., with registered office: Prievozská 14, Bratislava 821 09, ID No.: 35692103, registered in the Commercial Register of the Municipal Court Bratislava III, Section: Sro, Insert No.: 11155/B

Contact details of the controller:


We process data for this purpose on the basis of your consent in order to respond to your enquiry or request.
The provision of data is voluntary, but without providing it, the request cannot be processed. The data subject has the right to withdraw his or her consent at any time by sending an e-mail to the e-mail address of the controller info@fores.group.

Withdrawal of consent does not affect the lawfulness of processing based on consent prior to its withdrawal. We will store your data for this purpose until the request is processed (until the requested information is provided), but for no longer than 1 year. The recipient of your data is the provider of support and operation of the website and the provider of web hosting services. Personal data will not be used for automated individual decision-making, including profiling.


As a data subject, you have the following additional rights:  

The right of access to personal data under Article 15 GDPR: 

The data subject shall have the right to obtain confirmation that the controller processes personal data concerning him or her. The data subject has the right to obtain access to his or her personal data (the right to be provided with a copy of the personal data held by the controller about the data subject) and information about how the controller processes it, to the extent provided for in Article 15 of the GDPR. 

The right to rectification of personal data pursuant to Article 16 GDPR: 

The data subject shall have the right to have personal data concerning him or her rectified if it is incorrect or to have it completed if it is incomplete.  

The right to erasure (right to be forgotten) under Article 17 of the GDPR: 

The data subject shall have the right to obtain from the controller the erasure of personal data concerning him or her without undue delay, under the conditions set out in Article 17 of the GDPR. This right of the data subject shall be assessed by the controller in the light of all the relevant circumstances in accordance with Article 17 GDPR. 

The right to data portability under Article 20 GDPR: 

Where the processing is based on consent or on a contract and is carried out by automated means, the data subject shall have the right to obtain his or her personal data which he or she has provided to the controller in a structured, commonly used and machine-readable format and shall have the right to transmit those data to another controller. As far as technically feasible, he or she shall have the right to have the data transmitted directly from one controller to another.

The right to restrict the processing of personal data pursuant to Article 18 GDPR: 

The data subject shall have the right to have the controller restrict the processing of his or her personal data if one of the cases referred to in Article 18 of the GDPR occurs (e.g. if the data subject contests the accuracy of the personal data during the period for verifying their accuracy). 

The data subjects have the right to file a petition for initiation of a personal data protection procedure with the supervisory authority, i.e. the Office for Personal Data Protection of the Slovak Republic, Park One Building, Námestie 1. mája 18, 811 06 Bratislava, tel.: +421 2 3231 3214, www.dataprotection.gov.sk.