E-Invoices
Compliant electronic sales invoice creation, validation, ETA submission, cancellation, decline rejection, and credit notes.
E-Invoices
Sent electronic sales invoices for Egyptian Tax Authority (ETA) compliance. Lifecycle, Actions menu rules, and denial tooltips are driven by the shared EtaActionPolicy (same rules on API and UI).
For the full status/action matrix and diagrams, see ETA Document Flow and the hub Target Document Flow.
#Lifecycle at a glance
flowchart LR Draft --> Validated Draft --> Submitted Validated --> Submitted Submitted --> Valid Submitted --> Invalid Invalid --> Draft Valid --> Cancelled Valid --> CreditNote[Credit note]
| Status | What you can do |
|---|---|
Draft / Validated / Invalid |
Edit, Delete, Validate, Submit, Duplicate |
Submitted / Valid / Rejected / Cancelled |
Content locked; Sync / PDF when UUID exists |
Valid |
Cancel On Eta (within window), Create Credit Note (if not fully credited), Decline Rejection when a rejection is pending |
#Actions menu (sent invoices)
| Menu label | Policy action | Notes |
|---|---|---|
| Edit / Delete / Line Items | Edit / Delete / EditLines | Locked once submitted to ETA |
| Validate | Validate | Same gate as Submit |
| Submit | Submit | Resubmit from Invalid |
| Sync Status | SyncStatus | Needs ETA UUID |
| Cancel On Eta | Cancel | Issuer only; Valid + window |
| Decline Rejection | DeclineRejection | Issuer answers recipient reject |
| Create Credit Note | IssueCreditNote | No cancel-window deadline |
| Duplicate | Duplicate | Always allowed |
| Eta Pdf / local Pdf | DownloadEtaPdf | Needs UUID for ETA PDF |
Disabled items stay visible with a localized reason (for example Action Denied Locked By Eta).
#After every action
- API enforces the transition.
- Grid reloads (
ReloadDataAsync). - Open composer refetches the invoice.
- Status chip and Actions menu re-evaluate immediately.
#Issuer setup
Configure ETA connection and issuer identity in System Configuration / E-Invoices settings before production submit. Validate with a pilot set of documents.
#Troubleshooting
| Issue | Resolution |
|---|---|
| Submit disabled | Status already submitted/valid/reversed, or document is received-side |
| Cancel disabled | Not Valid, window closed, or cancellation/rejection already pending |
| Decline Rejection disabled | No pending rejection, already declined, wrong side, or decline window closed |
| Sync / PDF disabled | Document has no ETA UUID yet |