C# ZATCA E-Invoice Uploader

Job ID: 39767259

Budget: ₹1,500 – ₹12,500 INR

I need a standalone Windows executable written in C# that will pull invoice data directly from our SQL Server database (accessed through SQL Server authentication), convert each record into a ZATCA-compliant e-invoice, and submit it to the ZATCA API. The program has to handle the full sequence—data extraction, payload construction, optional digital signing/QR code generation if required by the latest FATOORA specification, the API call itself, and proper logging of ZATCA’s response back to the database.

The database is the single source of truth; there is no CSV or manual input involved. A simple configuration file (JSON or XML) for connection strings and API credentials is preferable so that non-technical staff can edit endpoints or keys without recompiling.

Deliverables
• Compiled .exe and full C# source code (Visual Studio / .NET 6 or newer)
• README covering setup, required NuGet packages, and any ZATCA portal steps (e.g., certificate upload)
• SQL script or EF migrations for any new tables needed for response logs
• Brief video or screenshots demonstrating one invoice successfully created and acknowledged by ZATCA

Acceptance criteria
1. Executable connects to SQL Server using the provided credentials and retrieves a test invoice.
2. Generated XML/JSON passes ZATCA validator without manual fixes.
3. API call returns a successful status and the response is stored in the database.
4. No hard-coded secrets; all keys and URLs reside in the external config file.

Tools and technologies expected: C#, .NET 6/7, HttpClient/RestSharp, System.Data.SqlClient (or EF Core), JSON or XML libraries, and any signing utilities mandated by ZATCA.