Moadian files each invoice to the Iranian tax authority as a signed packet and checks the result later. Open it from the View submissions link on an invoice that already has a filing, or go to /admin/invoices/moadian. You need invoices.settings.read to open the page and invoices.settings.write to change the connection.
Read this first
The page itself warns that this integration has been built and unit-tested but never verified against the live tax service. Verify a sandbox filing end to end before relying on it for statutory reporting.
Connection settings
Fiscal memory ID (6 characters; the letters I, J, L, Q and V are refused), economic code, private key and signing certificate (stored encrypted, never shown again, leave blank to keep the stored ones), default goods or service code (filing is refused while empty), default unit of measurement, buyer type (default: final consumer), environment (Sandbox or Production) and an Enable filing switch. Buyer national ID or economic code are not recorded on invoices, so buyers are filed without them. Without an encryption secret on the server the key cannot be saved.
The filing list
The latest 50 submissions, newest first, with invoice number, tax ID, status, environment, reference number and error code.
- Prepared or Signing: nothing confirmed yet.
- Submitted: sent; wait about ten seconds and press Check status. A failed status check does not mean rejection.
- Confirmed: done. Rejected or Failed: fix the cause and press Re-file.
Re-file is available for every status except Confirmed and Submitted. It rebuilds the packet from the invoice's current data and reuses the same tax ID, so a retry is safe. Filing and status checks need invoices.send and a plan that includes it.
Starting a first filing
The page only offers Re-file on rows that already exist, and no button on the invoice or elsewhere creates the first one. Treat first filings as not yet available from the admin until that is added.
Sales returns
When an invoice with a confirmed filing is refunded, a return row appears on the invoice page (after a few seconds). Press File return to send it, and Check status after. A refund voided after its return was filed must be corrected in the tax portal. Each return uses its own tax ID.