{"id":74124,"plugin_id":"plugin_asdk_app_6ac087af1074819190936c23e8a440b8","kind":"skill","collection_source":"plugin_package","comparison_source":null,"observed_at":"2026-10-31T06:10:34.115Z","digest":"40267aaec16dcec795d98d738a01759b1db294272ea2ecd4b3caac62f4bc38d0","against":null,"payload":{"description":"Move a Zid store's sales, returns, payment fees and payouts into an accounting system or ERP such as Qoyod, Daftra, Wafeq, Zoho Books, Odoo, Xero or QuickBooks. Use to prepare a sales-invoice or journal import file, reconcile ZidPay payouts and fees with bank deposits, check that every order reached the books, or close a month.","included_files":[{"relative_path":"references/systems.md","size_in_bytes":4854}],"name":"accounting-export","skill_md_contents":"---\nname: accounting-export\ndescription: Move a Zid store's sales, returns, payment fees and payouts into an accounting system or ERP such as Qoyod, Daftra, Wafeq, Zoho Books, Odoo, Xero or QuickBooks. Use to prepare a sales-invoice or journal import file, reconcile ZidPay payouts and fees with bank deposits, check that every order reached the books, or close a month.\n---\n\n# Accounting export\n\nTurns a period of Zid sales into what the accounting system expects, and checks\nthat the books and Zid agree.\n\n## Ground rules\n\n- The merchant's explicit instructions, and their accountant's, take precedence over this skill.\n- This skill reads Zid and produces files and reconciliations; the merchant\n  imports them. Accounting-system credentials (API keys, passwords) stay in that\n  system or the merchant's automation tool.\n- Use the accountant's chart of accounts, tax codes and posting choices. When one\n  is missing, ask rather than invent an account.\n\n## 1. Scope\n\n- **Period** and **what goes**: one sales invoice per order, one summary journal\n  per day, payouts and fees, or all three.\n- **Target system** and whether a connector already posts Zid orders there:\n  `zid_account.list_installed_apps`, then [references/systems.md](references/systems.md).\n  An installed app is a candidate, not proof: compare a recent sample of Zid order\n  numbers with the accounting system. When the sample shows the connector posting,\n  reconcile (step 5) instead of exporting the same sales again.\n- **E-invoicing**: `zid_settings.list_einvoicing_units`. When a unit is\n  `active`, Zid already issues the ZATCA e-invoices for those sales. The sale goes\n  into the accounting system as a record that does not issue or report another\n  e-invoice (a draft invoice or a journal, per the system's notes in the\n  reference). Confirm that choice with the merchant before building the file.\n- **Prices and VAT**: `zid_settings.get_tax_settings` shows whether prices\n  include VAT.\n\nDone when the period, the documents, the target, the e-invoicing answer and the VAT basis are settled.\n\n## 2. Read Zid\n\n| Need | Read |\n| --- | --- |\n| Orders in the period | `zid_orders.list_orders` with `dateFrom`, `dateTo`, `paymentStatus` and `perPage` 100, every page; lines, discounts, shipping and VAT per order from `zid_orders.get_order` |\n| Large periods | `zid_orders_manage.export_orders` with `exportType` `detailed` (one row per product), `dateFrom` and `dateTo`; Zid emails the file, and it needs the merchant's approval |\n| Returns | `zid_orders.get_credit_notes` for each returned or partly returned order |\n| Period totals to check against | `zid_reports.sales_report` (revenue, discounts, shipping, tax, cost of goods, returns; `components` such as `payment_methods` or `channel`). When reports are unavailable for the store, total the orders instead |\n| ZidPay payouts | `zid_payments.list_zidpay_deposits`, then `zid_payments.get_zidpay_deposit` with the numeric `depositId` for the transactions in each payout |\n| ZidPay fees not yet paid out | `zid_payments.get_account_statement` with `settlementStatus` `not_yet_paid_out` or `payout_pending` (fees, VAT on fees, net, running balance) |\n| Refunds | `zid_payments.list_refunds` |\n| Zid Ship costs and cash on delivery | `zid_shipping.list_shipping_charges` (labels, COD fees, returns), `zid_shipping.list_cod_collected`; other carriers from their invoice or settlement report |\n\n## 3. Build the file\n\nMap to the target's template from [references/systems.md](references/systems.md).\nWhen the merchant has the template, match its exact headers.\n\n- **Keys**: the Zid order number as the invoice number or reference, and the SKU\n  as the item code. Duplicate handling differs by system: before a rerun, check\n  the existing references (or use the target's External ID where it has one).\n- **Lines**: one per product, plus shipping and cash-on-delivery fees as lines;\n  discounts per line or as a discount line, the way the target takes them.\n- **Money**: plain decimals in the store currency, no symbols; VAT inclusive or\n  exclusive as settled in step 1, with the target's tax code name.\n- **Returns**: a credit note (or reversing journal) referencing the original invoice.\n- **Customers**: the customer number or name the target matches on; business\n  customers carry their VAT number.\n- **Size**: split files at the target's row limit; keep each invoice's lines in one file.\n\n## 4. Payouts and fees\n\nFor each ZidPay payout: payout amount = payments in it − refunds − fees − VAT on\nfees. Post the fees and their VAT to the accounts the accountant names, and\nmatch the payout to the bank deposit by its reference. Do the same for courier\ncash-on-delivery remittances.\n\n## 5. Check\n\n- Order count and totals in the file equal the Zid totals for the period; list\n  any difference with its order numbers.\n- With a connector posting orders: compare the accounting system's sales export\n  for the period with the Zid orders by order number, and list orders missing\n  from the books, present twice, or with different totals.\n\nDone when the totals agree or every difference is listed by order number.\n\n## Output\n\nThe import file (CSV or the target's template), a summary of orders, net sales,\nVAT, shipping, discounts, returns and fees for the period, the payout\nreconciliation, and every row that needs the merchant or accountant.\n"},"changes":[],"summary":"First saved snapshot. No earlier version is available for comparison.","summary_kind":"deterministic","summary_metadata":{}}