Business Client need Software Development

Contact person: Business Client

Phone:Show

Email:Show

Location: Riyadh, Saudi Arabia

Budget: Recommended by industry experts

Time to start: As soon as possible

Project description:
"Hello,

I’m looking for a Node.js (TypeScript) developer to implement a backend module for Saudi E-Invoicing (ZATCA) requirements.

The goal is to build a clean, organized, and fully functional backend code that performs the two main phases of the ZATCA E-Invoicing system (Phase 2 – Integration):

Onboarding and CSID certificate generation.

Invoice creation, signing, and submission to ZATCA (Sandbox & Production).

Phase 1 – Onboarding and Certificate Registration

The code should:

Generate a Private Key and a CSR (Certificate Signing Request).

Call ZATCA Onboarding API to register the device/system.

Handle the OTP verification process:

Prompt the user to input the OTP sent by ZATCA.

Submit the OTP to obtain the CSID (Cryptographic Stamp Identifier) and digital certificate.

Securely store the CSID and private key for signing future invoices.

Phase 2 – Invoice Generation and Submission

Generate an XML invoice (UBL 2.1) fully compliant with ZATCA’s requirements, including digital signature.

Generate a PDF/A-3 version of the invoice containing:

The embedded XML.

A QR code following ZATCA’s QR structure.

Submit the signed invoice to ZATCA APIs for both:

Sandbox environment (for testing).

Production environment (for live issuance).

Receive and process the ZATCA response (Accepted / Rejected) and log it.

Technical Requirements

Built with Node.js (TypeScript).

Must be fully compatible with Node.js version 20 or higher.

Organized folder structure: Config / Services / Utils / Routes.

Use stable libraries:
axios, xml2js or fast-xml-parser, node-forge, pdf-lib, dotenv.

Well-documented and clearly commented.

Deliverables

Complete project code (Node.js + TypeScript).

Working examples:

A valid XML invoice accepted by ZATCA Sandbox.

A PDF/A-3 file containing the embedded XML.

Successful onboarding result with CSID issuance.

A detailed [login to view URL] with setup and execution instructions.

Local Testing Requirement

The project must include a ready-to-run test script that:

Generates a sample invoice.

Digitally signs it.

Submits it to ZATCA Sandbox.

Logs the result (Accepted / Rejected) to the console.

Notes

No frontend or UI required.

The goal is clean, modular, and reusable backend code.

Open-source references are allowed, but the code must be written from scratch and well-structured.

Developers with previous experience in ZATCA or E-Invoicing integration projects are highly preferred." (client-provided description)


Matched companies (7)

...

TechGigs LLP

We deliver cutting-edge technology solutions to businesses of all sizes. From mobile and web development to AR/VR, AI, and enterprise software, our t… Read more

...

SJ Solutions & Infotech

SJ Solutions & Infotech is a team of highly experienced and dynamic professionals who have an enormous passion for technology. In this fast changing … Read more

...

Appsdiary Technologies

AppsDiary is a software house that designs and develops mobile applications, websites, and custom software solutions. They work with businesses to c… Read more

...

WhizzAct Private Limited

WhizzAct aims to deliver the supreme service at an effective cost, ensuring complete customer satisfaction. Emphatic use of the latest tools and tech… Read more

...

JanakiBhuvi Tech Labs Private Limited

Delivering Future-Ready Digital Solutions in Web Development, E-commerce, Logo Design, and Digital Marketing. We believe innovation is key to navigat… Read more

...

Codetreasure Co

🚀 Your Expert Partner for Mobile & Web App Development Unlock the full potential of your business with Codetreasure —a leading provider of tailored … Read more

...

HJP Media

I am founder and CEO of HJP Media. The fastest growing AI digital solutions company in the world, offering innovative, AI powered digital marketing a… Read more