Skip to content
TaxHelper

The Tax Authority already has your invoices. This turns them into your return.

Pulls your invoices and receipts from the ETA and builds the VAT return, form 41 and journals for you

At a glance

Status
SYSGOT product, in production
Built on
ASP.NET Core MVC on .NET 10 · SQL Server + EF Core · Hangfire + SignalR · ETA e-invoicing API · OpenAI (RAG over tax law) · Arabic, right-to-left throughout
Covers
6 areas
Trial
Seven days free on one company, switched on once you ask
8
Reports and declarations
18,500
Invoices in a single return
6,810
Receipts in a month, none missed
The difference

What it changes for whoever uses it

  • Try it free for seven days on one company
  • Your return comes from what the Tax Authority already holds, not from numbers someone retyped
  • Monthly or quarterly, it works out your filing period for you
  • POS receipts go into the same VAT sheets and journals as your invoices
  • One account, several companies, each kept completely separate
One period

How a month is known to be complete

Period 2026-08Monthly filer · both directionsETA e-invoicing

Documents

Invoices issued12 104
Invoices received6 396
Credit notes318
Cached, not refetched17 772

Point-of-sale receipts

Sale receipts6 494
Return receipts316
Points of sale11
Requests to fetch them10
Completeness4 412 retrieved · totalCount says 6 810range halved on DateTimeIssued, asked again6 810 of 6 810 · period complete

Nothing is cached until the count agrees, so a closed month can never hold a partial answer.

Queued from this period

  • VAT sales
  • VAT purchase
  • Form 41
  • Help journal
  • Help journal, detailed
  • Receipts journal
  • Archive · sent
  • Archive · received

Real field names, made-up figures. A real month is somebody’s tax position.

The running system

What it looks like in use

One month at a glance: 13 valid sales invoices, 10 purchases, a credit note of 14,912.28 and three rejected inputs. Rejected and cancelled get their own cards, so they never slip into the return.
01One month at a glance: 13 valid sales invoices, 10 purchases, a credit note of 14,912.28 and three rejected inputs. Rejected and cancelled get their own cards, so they never slip into the return.
This company files quarterly, so the period is Q2. Invoices and credit notes are kept apart, because a credit note subtracts. The button at the top builds the return.
02This company files quarterly, so the period is Q2. Invoices and credit notes are kept apart, because a credit note subtracts. The button at the top builds the return.
What that button produces: the Authority's own upload sheet, one row per invoice line, generated instead of typed.
03What that button produces: the Authority's own upload sheet, one row per invoice line, generated instead of typed.
The whole year, month by month. The receipts column is zero because this company has no point of sale.
04The whole year, month by month. The receipts column is zero because this company has no point of sale.
A journal for any date range, not just a month. It uses what is already saved and fetches the rest from the ETA.
05A journal for any date range, not just a month. It uses what is already saved and fetches the rest from the ETA.
Pick a month, and it packages every sent or received document into one file.
06Pick a month, and it packages every sent or received document into one file.
Inside

What is inside TaxHelper

01

Every report you file

VAT sales and purchases, form 41, help journals in summary or line by line, the receipts journal, and a full archive of sent and received documents.

02

Built in the background

A big report runs on the server and tells you when it is ready. You do not sit watching a browser tab for twenty minutes.

03

Fast, and never out of date

Each document is saved the first time and reused after that, but its status is always checked live, so a cancelled invoice never lands in your return.

04

Monthly or quarterly, worked out for you

Set it once per company and it picks the right period. The ETA only allows a month at a time, so a quarter is fetched month by month and joined up.

05

Every receipt, not most of them

The ETA's search can skip receipts on a busy point of sale. TaxHelper checks its count against the ETA's own total and goes back for anything missing.

06

Ask about the law

Egyptian tax law and its amendments are loaded by sector. Ask a question and it answers from the text itself, shows which file it came from, and treats newer amendments as overriding older ones.

What it is for

The Tax Authority already holds every invoice your company has issued or received, and every receipt your tills have printed. Yet most companies still file by exporting part of it, pasting it into a spreadsheet and adding it up again by hand. That is how a return ends up disagreeing with the ETA's own records.

TaxHelper reads the ETA directly, with your company's own credentials, and builds the VAT return, form 41 and help journals from what comes back.

Why the numbers are complete

Receipts were the hard part. On a busy point of sale, the ETA's search can skip receipts issued in the same second, and nothing tells you it happened. TaxHelper counts what it received against the ETA's own total. If the two differ, it goes back and asks again until they match. A month of 6,810 receipts takes about ten requests and comes back complete.

Trying it

It runs at taxhelper.sysgot.com. Sign up, ask for the trial, and we switch on seven days for one company. A person approves each account, so it is not instant.

You will need your company's ETA client ID and secret, the same pair your ERP uses to sign invoices. TaxHelper only reads. It never sends anything to the Authority.

The tax assistant is a quick way to find the right passage in the law. It is not tax advice.

Next step

Tell us what is broken. We will tell you what we would do.

A call, then a written recommendation. No obligation.

  • A reply within one working dayFrom an engineer.
  • We look before we quoteA call, and a site visit if needed.
  • The recommendation is yoursYours to take elsewhere.
  • Or call +20 109 777 8090