{"skill":{"slug":"greek-financial-statements","displayName":"Greek Financial Statements","summary":"Greek financial statement generation — P&L, balance sheets, VAT summaries with EGLS integration. Completeness gates prevent partial outputs.","description":"---\nname: greek-financial-statements\ndescription: Greek financial statement generation — P&L, balance sheets, VAT summaries with EGLS integration. Completeness gates prevent partial outputs.\nversion: 1.0.0\nauthor: openclaw-greek-accounting\nhomepage: https://github.com/satoshistackalotto/openclaw-greek-accounting\ntags: [\"greek\", \"accounting\", \"financial-statements\", \"balance-sheet\", \"pnl\", \"egls\"]\nmetadata: {\"openclaw\": {\"requires\": {\"bins\": [\"jq\"], \"env\": [\"OPENCLAW_DATA_DIR\"]}, \"notes\": \"Instruction-only skill. Generates financial statements (P&L, balance sheet) from data in OPENCLAW_DATA_DIR. Includes completeness gate that blocks generation if source data is incomplete. No external services required.\"}}\n---\n\n# Greek Financial Statements\n\nThis skill generates professional financial statements for Greek businesses, integrating with the ΕΓΛΣ (Ελληνικό Γενικό Λογιστικό Σχέδιο — Greek General Chart of Accounts) and enforcing strict completeness gates to prevent incomplete or inaccurate output. Every statement is versioned, bilingual (Greek for clients, English for internal), and includes a full audit trail.\n\n\n## Setup\n\n```bash\nexport OPENCLAW_DATA_DIR=\"/data\"\nwhich jq || sudo apt install jq\n```\n\nNo external credentials required. Generates financial statements (P&L, balance sheet, cash flow) from data in OPENCLAW_DATA_DIR. Includes a completeness gate that blocks generation if source data is incomplete.\n\n\n## Core Philosophy\n\n- **Completeness First**: Never generate a statement with incomplete source data — halt and report blockers\n- **ΕΓΛΣ Native**: All accounts classified per Greek Chart of Accounts standards\n- **Versioned & Immutable**: Once issued, a statement is never overwritten — amendments create new versions\n- **Bilingual Output**: Greek labels for client-facing documents, English for internal use\n- **Balance Sheet Must Balance**: Assets must equal equity plus liabilities — halt on any mismatch\n- **Human Oversight**: All generated statements are drafts until a senior accountant reviews and issues them\n\n## OpenClaw Commands\n\n### Statement Generation\n```bash\n# Generate full financial statement pack (P&L + balance sheet + VAT summary)\nopenclaw statements generate --afm EL123456789 --period 2026-01\n\n# Generate specific statement type\nopenclaw statements generate-pl --afm EL123456789 --period 2026-01\nopenclaw statements generate-balance-sheet --afm EL123456789 --period 2026-01\nopenclaw statements generate-vat-summary --afm EL123456789 --period 2026-01\n\n# Force partial generation (requires explicit human confirmation)\nopenclaw statements generate --afm EL123456789 --period 2026-01 --force-partial --confirm\n```\n\n### Completeness & Readiness\n```bash\n# Check readiness for a single client\nopenclaw statements readiness --afm EL123456789 --period 2026-01\n\n# Check readiness across all active clients\nopenclaw statements readiness-all --period 2026-01\n\n# Show specific blockers for a client\nopenclaw statements blockers --afm EL123456789 --period 2026-01\n```\n\n### Amendments & Versioning\n```bash\n# Create amendment to an existing statement\nopenclaw statements amend --afm EL123456789 --period 2025-10 --reason \"Late supplier invoice discovered\"\n\n# View version history for a client period\nopenclaw statements versions --afm EL123456789 --period 2025-10\n\n# Compare two versions\nopenclaw statements diff --afm EL123456789 --period 2025-10 --v1 1 --v2 2\n```\n\n### Period Comparison & Analysis\n```bash\n# Compare current period to same period last year\nopenclaw statements compare --afm EL123456789 --period 2026-01 --vs 2025-01\n\n# Compare current period to previous period\nopenclaw statements compare --afm EL123456789 --period 2026-01 --vs 2025-12\n\n# Flag significant variances (default threshold: 15%)\nopenclaw statements variance-report --afm EL123456789 --period 2026-01 --threshold 15\n```\n\n### Output & Distribution\n```bash\n# Generate client-facing PDF pack\nopenclaw statements export-pdf --afm EL123456789 --period 2026-01 --language greek\n\n# Generate bilingual PDF (Greek primary, English annotations)\nopenclaw statements export-pdf --afm EL123456789 --period 2026-01 --bilingual\n\n# Queue statement for client delivery via communication engine\nopenclaw statements send-to-client --afm EL123456789 --period 2026-01 --via email\n```\n\n## Completeness Gate\n\nThe completeness gate runs automatically before every statement generation. It checks all required data sources and halts generation if any are incomplete. The gate cannot be bypassed without `--force-partial --confirm`.\n\n### Gate Checks\n\n```yaml\nCompleteness_Gate:\n  banking_reconciliation:\n    check: \"Banking reconciliation exists and status is 'complete' for the period\"\n    source: \"/data/clients/{AFM}/compliance/ or /data/banking/\"\n    blocker_if: \"missing or status != complete\"\n    \n  vat_filing:\n    check: \"VAT filing data exists for the period\"\n    source: \"/data/compliance/vat/{AFM}_{period}_vat_return.xml\"\n    blocker_if: \"missing\"\n    \n  efka_contributions:\n    check: \"EFKA contribution data exists and status is 'calculated' or 'submitted'\"\n    source: \"/data/efka/\"\n    blocker_if: \"missing or status == 'pending'\"\n    \n  ocr_queue:\n    check: \"No documents for this client are pending in the OCR queue\"\n    source: \"/data/processing/ocr/queued/\"\n    blocker_if: \"pending_count > 0\"\n    \n  prior_period:\n    check: \"Prior period statement exists (unless this is the first period)\"\n    source: \"/data/clients/{AFM}/financial-statements/\"\n    blocker_if: \"missing and not first_period\"\n    warning_if: \"prior period has unresolved amendments\"\n```\n\n### Gate Output\n\nWhen blocked:\n```json\n{\n  \"afm\": \"EL987654321\",\n  \"period\": \"2026-02\",\n  \"gate_result\": \"BLOCKED\",\n  \"blockers\": [\n    {\n      \"check\": \"banking_reconciliation\",\n      \"status\": \"not_started\",\n      \"resolve_command\": \"openclaw banking reconcile --afm EL987654321 --period 2026-02\"\n    },\n    {\n      \"check\": \"ocr_queue\",\n      \"status\": \"4 items pending\",\n      \"items\": [\"invoice_0234.pdf\", \"receipt_0891.pdf\", \"invoice_0235.pdf\", \"bank_charge_0012.pdf\"],\n      \"resolve_command\": \"openclaw ocr process-queue --afm EL987654321 --priority\"\n    }\n  ],\n  \"ready_items\": [\"vat_filing\", \"efka_contributions\"],\n  \"recommendation\": \"Resolve blockers before generating statements. Run: openclaw statements blockers --afm EL987654321 --period 2026-02 for details.\"\n}\n```\n\nBlocked results are logged to `/data/memory/failures/` with `failure_type: completeness_gate_failed`.\n\n## ΕΓΛΣ — Greek Chart of Accounts Integration\n\nAll financial statements use the Greek General Chart of Accounts (ΕΓΛΣ) classification system. Account codes map directly to standard Greek accounting categories.\n\n### Account Classes\n\n```yaml\nEGLS_Account_Classes:\n  class_1_assets:\n    \"10\": \"Εδαφικές εκτάσεις (Land)\"\n    \"11\": \"Κτίρια - εγκαταστάσεις (Buildings)\"\n    \"12\": \"Μηχανήματα - τεχνικές εγκαταστάσεις (Machinery)\"\n    \"13\": \"Μεταφορικά μέσα (Transport)\"\n    \"14\": \"Έπιπλα - λοιπός εξοπλισμός (Furniture & equipment)\"\n    \"16\": \"Ασώματες ακινητοποιήσεις (Intangible assets)\"\n    \n  class_2_current_assets:\n    \"20\": \"Εμπορεύματα (Merchandise)\"\n    \"21\": \"Προϊόντα (Finished goods)\"\n    \"24\": \"Πρώτες ύλες (Raw materials)\"\n    \"25\": \"Αναλώσιμα (Consumables)\"\n    \"30\": \"Πελάτες (Trade debtors)\"\n    \"33\": \"Χρεώστες διάφοροι (Other debtors)\"\n    \"38\": \"Χρηματικά διαθέσιμα (Cash and equivalents)\"\n    \n  class_4_equity_and_liabilities:\n    \"40\": \"Κεφάλαιο (Share capital)\"\n    \"41\": \"Αποθεματικά (Reserves)\"\n    \"42\": \"Αποτελέσματα εις νέο (Retained earnings)\"\n    \"44\": \"Προβλέψεις (Provisions)\"\n    \"45\": \"Μακροπρόθεσμες υποχρεώσεις (Long-term liabilities)\"\n    \"50\": \"Προμηθευτές (Trade creditors)\"\n    \"53\": \"Πιστωτές διάφοροι (Other creditors)\"\n    \"54\": \"Υποχρεώσεις από φόρους (Tax liabilities)\"\n    \"55\": \"Ασφαλιστικοί οργανισμοί (Social security payable)\"\n    \n  class_6_expenses:\n    \"60\": \"Αγορές (Purchases)\"\n    \"61\": \"Μεταβολή αποθεμάτων (Inventory changes)\"\n    \"62\": \"Παροχές τρίτων (Third-party services)\"\n    \"63\": \"Φόροι - τέλη (Taxes and duties)\"\n    \"64\": \"Λοιπά έξοδα (Other expenses)\"\n    \"65\": \"Τόκοι και συναφή έξοδα (Interest and related)\"\n    \"66\": \"Αποσβέσεις (Depreciation)\"\n    \n  class_7_income:\n    \"70\": \"Πωλήσεις εμπορευμάτων (Sales of merchandise)\"\n    \"71\": \"Πωλήσεις προϊόντων (Sales of finished goods)\"\n    \"73\": \"Πωλήσεις υπηρεσιών (Service revenue)\"\n    \"74\": \"Επιχορηγήσεις - επιδοτήσεις (Grants and subsidies)\"\n    \"75\": \"Λοιπά έσοδα (Other income)\"\n    \"76\": \"Έσοδα κεφαλαίων (Investment income)\"\n```\n\n### P&L Structure — Αποτελέσματα Χρήσεως\n\n```yaml\nPL_Structure:\n  revenue:\n    label_gr: \"Κύκλος εργασιών\"\n    label_en: \"Revenue / Turnover\"\n    accounts: [\"70\", \"71\", \"73\"]\n    \n  other_income:\n    label_gr: \"Λοιπά συνήθη έσοδα\"\n    label_en: \"Other ordinary income\"\n    accounts: [\"74\", \"75\", \"76\"]\n    \n  cost_of_sales:\n    label_gr: \"Κόστος πωλήσεων\"\n    label_en: \"Cost of sales\"\n    accounts: [\"60\", \"61\"]\n    \n  gross_profit:\n    label_gr: \"Μικτό κέρδος\"\n    label_en: \"Gross profit\"\n    calculation: \"revenue + other_income - cost_of_sales\"\n    \n  operating_expenses:\n    label_gr: \"Λειτουργικά έξοδα\"\n    label_en: \"Operating expenses\"\n    accounts: [\"62\", \"63\", \"64\", \"66\"]\n    \n  operating_profit:\n    label_gr: \"Λειτουργικά αποτελέσματα\"\n    label_en: \"Operating profit\"\n    calculation: \"gross_profit - operating_expenses\"\n    \n  financial_expenses:\n    label_gr: \"Χρηματοοικονομικά έξοδα\"\n    label_en: \"Financial expenses\"\n    accounts: [\"65\"]\n    \n  net_profit_before_tax:\n    label_gr: \"Κέρδη προ φόρων\"\n    label_en: \"Net profit before tax\"\n    calculation: \"operating_profit - financial_expenses\"\n    \n  income_tax:\n    label_gr: \"Φόρος εισοδήματος\"\n    label_en: \"Income tax\"\n    rate: \"22% for AE/EPE, graduated for OE/EE\"\n    \n  net_profit:\n    label_gr: \"Καθαρά κέρδη μετά φόρων\"\n    label_en: \"Net profit after tax\"\n    calculation: \"net_profit_before_tax - income_tax\"\n```\n\n### Balance Sheet Structure — Ισολογισμός\n\n```yaml\nBalance_Sheet_Structure:\n  assets:\n    label_gr: \"ΕΝΕΡΓΗΤΙΚΟ\"\n    label_en: \"ASSETS\"\n    \n    fixed_assets:\n      label_gr: \"Πάγια στοιχεία ενεργητικού\"\n      label_en: \"Fixed assets\"\n      accounts: [\"10\", \"11\", \"12\", \"13\", \"14\", \"16\"]\n      show: \"gross_value, accumulated_depreciation, net_book_value\"\n      \n    current_assets:\n      label_gr: \"Κυκλοφοριακά στοιχεία ενεργητικού\"\n      label_en: \"Current assets\"\n      \n      inventories:\n        label_gr: \"Αποθέματα\"\n        label_en: \"Inventories\"\n        accounts: [\"20\", \"21\", \"24\", \"25\"]\n        \n      receivables:\n        label_gr: \"Απαιτήσεις\"\n        label_en: \"Receivables\"\n        accounts: [\"30\", \"33\"]\n        \n      cash:\n        label_gr: \"Χρηματικά διαθέσιμα\"\n        label_en: \"Cash and equivalents\"\n        accounts: [\"38\"]\n  \n  equity_and_liabilities:\n    label_gr: \"ΠΑΘΗΤΙΚΟ\"\n    label_en: \"EQUITY & LIABILITIES\"\n    \n    equity:\n      label_gr: \"Ίδια κεφάλαια\"\n      label_en: \"Equity\"\n      \n      share_capital:\n        label_gr: \"Κεφάλαιο\"\n        label_en: \"Share capital\"\n        accounts: [\"40\"]\n        \n      reserves:\n        label_gr: \"Αποθεματικά\"\n        label_en: \"Reserves\"\n        accounts: [\"41\"]\n        \n      retained_earnings:\n        label_gr: \"Αποτελέσματα εις νέο\"\n        label_en: \"Retained earnings\"\n        accounts: [\"42\"]\n        \n    provisions:\n      label_gr: \"Προβλέψεις\"\n      label_en: \"Provisions\"\n      accounts: [\"44\"]\n      \n    long_term_liabilities:\n      label_gr: \"Μακροπρόθεσμες υποχρεώσεις\"\n      label_en: \"Long-term liabilities\"\n      accounts: [\"45\"]\n      \n    current_liabilities:\n      label_gr: \"Βραχυπρόθεσμες υποχρεώσεις\"\n      label_en: \"Current liabilities\"\n      \n      suppliers:\n        label_gr: \"Προμηθευτές\"\n        label_en: \"Trade creditors\"\n        accounts: [\"50\"]\n        \n      other_creditors:\n        label_gr: \"Πιστωτές διάφοροι\"\n        label_en: \"Other creditors\"\n        accounts: [\"53\"]\n        \n      tax_liabilities:\n        label_gr: \"Υποχρεώσεις από φόρους\"\n        label_en: \"Tax liabilities (VAT, income tax)\"\n        accounts: [\"54\"]\n        \n      social_security:\n        label_gr: \"Ασφαλιστικοί οργανισμοί\"\n        label_en: \"Social security payable (EFKA)\"\n        accounts: [\"55\"]\n\n  validation:\n    rule: \"total_assets MUST equal total_equity_and_liabilities\"\n    on_mismatch: \"HALT — do not issue. Log high-priority failure. Alert senior accountant.\"\n    never: \"Never auto-correct a balance sheet mismatch. Never issue an unbalanced statement.\"\n```\n\n## Versioning & Amendments\n\n### Version Rules\n\nEvery statement generation creates a new version. Versions are immutable once created.\n\n```yaml\nVersioning:\n  first_generation:\n    version: 1\n    status: \"draft\"\n    transitions: \"draft → issued (by senior_accountant review)\"\n    \n  amendment:\n    version: \"previous_version + 1\"\n    status: \"draft\"\n    requires: \"reason text, reference to what changed\"\n    preserves: \"all prior versions remain in directory\"\n    \n  file_naming:\n    json: \"{AFM}_{period}_{type}_v{N}.json\"\n    pdf: \"{AFM}_{period}_{type}_v{N}.pdf\"\n    examples:\n      - \"EL123456789_2026-01_pl_v1.json\"\n      - \"EL123456789_2026-01_balance-sheet_v1.json\"\n      - \"EL555444333_2025-10_pl_v2.json\"  # Amendment\n```\n\n### Statement Index\n\nEach client maintains a statement index at `/data/clients/{AFM}/financial-statements/index.json`:\n\n```json\n{\n  \"afm\": \"EL123456789\",\n  \"statements\": [\n    {\n      \"period\": \"2026-01\",\n      \"type\": \"pl\",\n      \"version\": 1,\n      \"status\": \"issued\",\n      \"issued_at\": \"2026-02-10T14:30:00Z\",\n      \"issued_by\": \"m.papadopoulos\",\n      \"filename\": \"EL123456789_2026-01_pl_v1.json\"\n    },\n    {\n      \"period\": \"2026-01\",\n      \"type\": \"balance-sheet\",\n      \"version\": 1,\n      \"status\": \"issued\",\n      \"issued_at\": \"2026-02-10T14:30:00Z\",\n      \"issued_by\": \"m.papadopoulos\",\n      \"filename\": \"EL123456789_2026-01_balance-sheet_v1.json\"\n    }\n  ]\n}\n```\n\n### Amendment Workflow\n\n```yaml\nAmendment_Process:\n  step_1: \"Identify the item requiring amendment (e.g., late invoice)\"\n  step_2: \"Load the current latest version for the period\"\n  step_3: \"Apply the correction to the affected accounts\"\n  step_4: \"Recalculate all derived totals (gross profit, net profit, retained earnings)\"\n  step_5: \"Validate balance sheet still balances after amendment\"\n  step_6: \"Create new version file with amendment metadata\"\n  step_7: \"Update index.json with new version entry\"\n  step_8: \"Generate amendment PDF marked as Τροποποίηση (Amendment)\"\n  step_9: \"Log episode to /data/memory/episodes/ with episode_type: amendment_issued\"\n  \n  amendment_metadata:\n    reason: \"Free text describing why the amendment was needed\"\n    original_version: \"Reference to the version being amended\"\n    changes: \"Line-by-line diff of what changed\"\n    impact: \"Net effect on profit/loss and balance sheet\"\n    discovered_date: \"When the error/omission was discovered\"\n```\n\n## Period Comparison\n\n### Variance Analysis\n\n```yaml\nVariance_Analysis:\n  comparison_types:\n    year_over_year: \"Same period current year vs prior year\"\n    sequential: \"Current period vs immediately prior period\"\n    budget_vs_actual: \"Actual figures vs budget (when budget exists)\"\n    \n  variance_calculation:\n    absolute: \"current_amount - comparison_amount\"\n    percentage: \"((current_amount - comparison_amount) / comparison_amount) * 100\"\n    \n  significance_threshold:\n    default: \"15%\"\n    configurable: \"--threshold N\"\n    categories:\n      - \"SIGNIFICANT: variance >= threshold\"\n      - \"NOTABLE: variance >= threshold/2 and < threshold\"\n      - \"NORMAL: variance < threshold/2\"\n      \n  output_format:\n    grouping: \"By category (revenue, cost of sales, operating expenses)\"\n    labels: \"Greek account label alongside English label\"\n    presentation: \"Plain English suitable for accounting assistant\"\n```\n\n## Output Formats\n\n### Machine-Readable JSON\n\nWritten to `/data/clients/{AFM}/financial-statements/`:\n\n```json\n{\n  \"afm\": \"EL123456789\",\n  \"client_name\": \"ALPHA TRADING AE\",\n  \"period\": \"2026-01\",\n  \"type\": \"pl\",\n  \"version\": 1,\n  \"status\": \"draft\",\n  \"generated_at\": \"2026-02-10T14:00:00Z\",\n  \"generated_by\": \"openclaw-greek-financial-statements\",\n  \"revenue\": {\n    \"70_goods_sales\": {\"label_gr\": \"Πωλήσεις εμπορευμάτων\", \"amount\": 28400.00},\n    \"73_service_revenue\": {\"label_gr\": \"Πωλήσεις υπηρεσιών\", \"amount\": 18920.00},\n    \"total\": 47320.00\n  },\n  \"cost_of_sales\": {\n    \"60_materials\": {\"label_gr\": \"Αγορές\", \"amount\": 14200.00},\n    \"total\": 14200.00\n  },\n  \"gross_profit\": 33120.00,\n  \"operating_expenses\": {\n    \"62_services\": {\"label_gr\": \"Παροχές τρίτων\", \"amount\": 4800.00},\n    \"64_staff\": {\"label_gr\": \"Λοιπά έξοδα\", \"amount\": 9200.00},\n    \"66_depreciation\": {\"label_gr\": \"Αποσβέσεις\", \"amount\": 1200.00},\n    \"total\": 15200.00\n  },\n  \"operating_profit\": 17920.00,\n  \"net_profit\": 17920.00,\n  \"completeness_gate\": {\n    \"banking_reconciliation\": \"complete\",\n    \"vat_filing\": \"prepared\",\n    \"efka_contributions\": \"calculated\",\n    \"ocr_queue\": \"clear\"\n  }\n}\n```\n\n### Client-Facing PDF\n\nWritten to `/data/reports/client/`:\n\n```yaml\nPDF_Layout:\n  header:\n    title_gr: \"ΑΠΟΤΕΛΕΣΜΑΤΑ ΧΡΗΣΕΩΣ\" # or \"ΙΣΟΛΟΓΙΣΜΟΣ\"\n    title_en: \"Profit & Loss Statement\" # or \"Balance Sheet\"\n    client_name: \"ALPHA TRADING AE\"\n    afm: \"EL123456789\"\n    period: \"Ιανουάριος 2026 / January 2026\"\n    version: \"v1\"\n    \n  body:\n    format: \"Greek labels primary, English in parentheses\"\n    currency: \"EUR with € symbol\"\n    decimal_format: \"European (comma as decimal separator in Greek version)\"\n    \n  footer:\n    disclaimer: \"Prepared with automated assistance. Should be reviewed by a licensed accountant before reliance.\"\n    generated_at: \"Timestamp in Europe/Athens timezone\"\n    skill_version: \"openclaw-greek-financial-statements v1.0.0\"\n    \n  amendment_marking:\n    if_amendment: \"Clearly marked as ΤΡΟΠΟΠΟΙΗΣΗ (Amendment)\"\n    reference: \"References original version number and issue date\"\n    changes_summary: \"Brief description of what changed\"\n```\n\n## Data Sources\n\n### Read Locations\n\n```yaml\nData_Sources:\n  banking_reconciliation:\n    path: \"/data/clients/{AFM}/compliance/\"\n    also: \"/data/banking/\"\n    fields: \"opening_cash, closing_cash, total_income, total_expenses, status\"\n    \n  vat_filing:\n    path: \"/data/compliance/vat/\"\n    filename: \"{AFM}_{YYYYMM}_vat_return.xml\"\n    fields: \"output_vat, input_vat, net_vat_payable, vat_rate_breakdown\"\n    \n  efka_contributions:\n    path: \"/data/efka/\"\n    fields: \"employer_contributions, employee_deductions, total_payroll_gross\"\n    \n  client_documents:\n    path: \"/data/clients/{AFM}/documents/\"\n    fields: \"Processed invoices, receipts, contracts with amounts and ΕΓΛΣ codes\"\n    \n  prior_statements:\n    path: \"/data/clients/{AFM}/financial-statements/\"\n    fields: \"index.json for version history, prior period JSON for comparison\"\n```\n\n### Write Locations\n\n```yaml\nOutput_Locations:\n  json_statements:\n    path: \"/data/clients/{AFM}/financial-statements/\"\n    files: \"{AFM}_{period}_{type}_v{N}.json\"\n    also: \"index.json (updated with new entry)\"\n    \n  pdf_reports:\n    path: \"/data/reports/client/\"\n    files: \"{AFM}_{period}_financial-pack_v{N}.pdf\"\n    \n  episodes:\n    path: \"/data/memory/episodes/\"\n    types: [\"statement_generated\", \"amendment_issued\", \"readiness_checked\"]\n    \n  failures:\n    path: \"/data/memory/failures/\"\n    types: [\"completeness_gate_failed\", \"balance_sheet_mismatch\", \"generation_error\"]\n```\n\n## Error Handling\n\n### Balance Sheet Mismatch\n\n```yaml\nBalance_Sheet_Mismatch:\n  detection: \"total_assets != total_equity_and_liabilities\"\n  action: \"HALT immediately — never issue\"\n  logging:\n    priority: \"HIGH\"\n    destination: \"/data/memory/failures/\"\n    failure_type: \"balance_sheet_mismatch\"\n    fields: [\"total_assets\", \"total_equity_and_liabilities\", \"difference\"]\n  alert: \"Notify senior accountant via dashboard\"\n  suggestions:\n    - \"Check for unrecorded liabilities\"\n    - \"Check for misclassified accounts between asset and liability classes\"\n    - \"Check for data entry errors in source documents\"\n    - \"Verify that all bank reconciliation items have been processed\"\n  never: \"Never auto-correct the difference. Never issue an unbalanced statement as draft.\"\n```\n\n### Missing Prior Period\n\n```yaml\nMissing_Prior_Period:\n  first_period:\n    action: \"Proceed — this is expected for newly onboarded clients\"\n    note: \"Comparison features disabled for first period\"\n    \n  gap_in_periods:\n    action: \"WARN — allow generation but flag the gap\"\n    note: \"Prior period comparison will show 'prior period unavailable'\"\n```\n\n## Integration with Other Skills\n\n### Meta-Skill Integration\n```bash\n# Monthly process includes statement generation\nopenclaw greek monthly-process --client EL123456789 --period 2026-01\n# → Triggers completeness gate → generates statements if ready\n\n# End-of-year process\nopenclaw greek annual-close --client EL123456789 --year 2025\n# → Generates annual P&L + balance sheet + annual summary\n```\n\n### Dashboard Integration\n```bash\n# Statement readiness feeds into dashboard compliance scoring\nopenclaw dashboard refresh --include-statement-readiness\n\n# Statement generation events appear in dashboard activity feed\n```\n\n### Client Communication Integration\n```bash\n# Send statement pack to client after senior accountant approval\nopenclaw comms draft --afm EL123456789 --type monthly-statements --period 2026-01\n# → Attaches PDF statement pack to bilingual cover letter\n```\n\n### Analytics Integration\n```bash\n# Statement data feeds into trend analysis and benchmarking\nopenclaw analytics portfolio-trends --metric revenue --periods 12\n# → Reads from /data/clients/{AFM}/financial-statements/ across all clients\n```\n\n## Professional Liability\n\nEvery generated statement includes:\n- A disclaimer noting automated preparation\n- A recommendation for licensed accountant review\n- The version number and generation timestamp\n- The completeness gate results at time of generation\n\nStatements are generated as **drafts** by default. Only a user with `senior_accountant` role or above may change status to `issued` through the review workflow.\n","tags":{"latest":"0.1.0"},"stats":{"comments":0,"downloads":285,"installsAllTime":0,"installsCurrent":0,"stars":0,"versions":1},"createdAt":1771681720284,"updatedAt":1778491601423},"latestVersion":{"version":"0.1.0","createdAt":1771681720284,"changelog":"Initial release of Greek financial statement generation with EGLS integration and data completeness gates.\n\n- Generates P&L, balance sheet, VAT summaries based on Greek Chart of Accounts (ΕΓΛΣ).\n- Enforces strict completeness checks before statement creation; blocks output if key data is missing.\n- Outputs are versioned, bilingual (Greek for clients, English internally), and provide audit trails.\n- Includes human oversight flow—drafts must be reviewed before issue.\n- Command set covers generation, readiness checks, amendments, comparisons, and distribution.\n- No external credentials needed; processes data from a local directory.","license":null},"metadata":{"setup":[{"key":"OPENCLAW_DATA_DIR","required":true}],"os":null,"systems":null},"owner":{"handle":"satoshistackalotto","userId":"s17c6w15frspgvmq81dpbnvckh884fcn","displayName":"Stems","image":"https://avatars.githubusercontent.com/u/70470779?v=4"},"moderation":null}