greek-financial-statements
Greek financial statement generation — P&L, balance sheets, VAT summaries with EGLS integration. Completeness gates prevent partial outputs.
What this skill does
# Greek Financial Statements
This 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.
## Setup
```bash
export OPENCLAW_DATA_DIR="/data"
which jq || sudo apt install jq
```
No 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.
## Core Philosophy
- **Completeness First**: Never generate a statement with incomplete source data — halt and report blockers
- **ΕΓΛΣ Native**: All accounts classified per Greek Chart of Accounts standards
- **Versioned & Immutable**: Once issued, a statement is never overwritten — amendments create new versions
- **Bilingual Output**: Greek labels for client-facing documents, English for internal use
- **Balance Sheet Must Balance**: Assets must equal equity plus liabilities — halt on any mismatch
- **Human Oversight**: All generated statements are drafts until a senior accountant reviews and issues them
## OpenClaw Commands
### Statement Generation
```bash
# Generate full financial statement pack (P&L + balance sheet + VAT summary)
openclaw statements generate --afm EL123456789 --period 2026-01
# Generate specific statement type
openclaw statements generate-pl --afm EL123456789 --period 2026-01
openclaw statements generate-balance-sheet --afm EL123456789 --period 2026-01
openclaw statements generate-vat-summary --afm EL123456789 --period 2026-01
# Force partial generation (requires explicit human confirmation)
openclaw statements generate --afm EL123456789 --period 2026-01 --force-partial --confirm
```
### Completeness & Readiness
```bash
# Check readiness for a single client
openclaw statements readiness --afm EL123456789 --period 2026-01
# Check readiness across all active clients
openclaw statements readiness-all --period 2026-01
# Show specific blockers for a client
openclaw statements blockers --afm EL123456789 --period 2026-01
```
### Amendments & Versioning
```bash
# Create amendment to an existing statement
openclaw statements amend --afm EL123456789 --period 2025-10 --reason "Late supplier invoice discovered"
# View version history for a client period
openclaw statements versions --afm EL123456789 --period 2025-10
# Compare two versions
openclaw statements diff --afm EL123456789 --period 2025-10 --v1 1 --v2 2
```
### Period Comparison & Analysis
```bash
# Compare current period to same period last year
openclaw statements compare --afm EL123456789 --period 2026-01 --vs 2025-01
# Compare current period to previous period
openclaw statements compare --afm EL123456789 --period 2026-01 --vs 2025-12
# Flag significant variances (default threshold: 15%)
openclaw statements variance-report --afm EL123456789 --period 2026-01 --threshold 15
```
### Output & Distribution
```bash
# Generate client-facing PDF pack
openclaw statements export-pdf --afm EL123456789 --period 2026-01 --language greek
# Generate bilingual PDF (Greek primary, English annotations)
openclaw statements export-pdf --afm EL123456789 --period 2026-01 --bilingual
# Queue statement for client delivery via communication engine
openclaw statements send-to-client --afm EL123456789 --period 2026-01 --via email
```
## Completeness Gate
The 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`.
### Gate Checks
```yaml
Completeness_Gate:
banking_reconciliation:
check: "Banking reconciliation exists and status is 'complete' for the period"
source: "/data/clients/{AFM}/compliance/ or /data/banking/"
blocker_if: "missing or status != complete"
vat_filing:
check: "VAT filing data exists for the period"
source: "/data/compliance/vat/{AFM}_{period}_vat_return.xml"
blocker_if: "missing"
efka_contributions:
check: "EFKA contribution data exists and status is 'calculated' or 'submitted'"
source: "/data/efka/"
blocker_if: "missing or status == 'pending'"
ocr_queue:
check: "No documents for this client are pending in the OCR queue"
source: "/data/processing/ocr/queued/"
blocker_if: "pending_count > 0"
prior_period:
check: "Prior period statement exists (unless this is the first period)"
source: "/data/clients/{AFM}/financial-statements/"
blocker_if: "missing and not first_period"
warning_if: "prior period has unresolved amendments"
```
### Gate Output
When blocked:
```json
{
"afm": "EL987654321",
"period": "2026-02",
"gate_result": "BLOCKED",
"blockers": [
{
"check": "banking_reconciliation",
"status": "not_started",
"resolve_command": "openclaw banking reconcile --afm EL987654321 --period 2026-02"
},
{
"check": "ocr_queue",
"status": "4 items pending",
"items": ["invoice_0234.pdf", "receipt_0891.pdf", "invoice_0235.pdf", "bank_charge_0012.pdf"],
"resolve_command": "openclaw ocr process-queue --afm EL987654321 --priority"
}
],
"ready_items": ["vat_filing", "efka_contributions"],
"recommendation": "Resolve blockers before generating statements. Run: openclaw statements blockers --afm EL987654321 --period 2026-02 for details."
}
```
Blocked results are logged to `/data/memory/failures/` with `failure_type: completeness_gate_failed`.
## ΕΓΛΣ — Greek Chart of Accounts Integration
All financial statements use the Greek General Chart of Accounts (ΕΓΛΣ) classification system. Account codes map directly to standard Greek accounting categories.
### Account Classes
```yaml
EGLS_Account_Classes:
class_1_assets:
"10": "Εδαφικές εκτάσεις (Land)"
"11": "Κτίρια - εγκαταστάσεις (Buildings)"
"12": "Μηχανήματα - τεχνικές εγκαταστάσεις (Machinery)"
"13": "Μεταφορικά μέσα (Transport)"
"14": "Έπιπλα - λοιπός εξοπλισμός (Furniture & equipment)"
"16": "Ασώματες ακινητοποιήσεις (Intangible assets)"
class_2_current_assets:
"20": "Εμπορεύματα (Merchandise)"
"21": "Προϊόντα (Finished goods)"
"24": "Πρώτες ύλες (Raw materials)"
"25": "Αναλώσιμα (Consumables)"
"30": "Πελάτες (Trade debtors)"
"33": "Χρεώστες διάφοροι (Other debtors)"
"38": "Χρηματικά διαθέσιμα (Cash and equivalents)"
class_4_equity_and_liabilities:
"40": "Κεφάλαιο (Share capital)"
"41": "Αποθεματικά (Reserves)"
"42": "Αποτελέσματα εις νέο (Retained earnings)"
"44": "Προβλέψεις (Provisions)"
"45": "Μακροπρόθεσμες υποχρεώσεις (Long-term liabilities)"
"50": "Προμηθευτές (Trade creditors)"
"53": "Πιστωτές διάφοροι (Other creditors)"
"54": "Υποχρεώσεις από φόρους (Tax liabilities)"
"55": "Ασφαλιστικοί οργανισμοί (Social security payable)"
class_6_expenses:
"60": "Αγορές (Purchases)"
"61": "Μεταβολή αποθεμάτων (Inventory changes)"
"62": "Παροχές τρίτων (Third-party services)"
"63": "Φόροι - τέλη (Taxes and duties)"
"64": "Λοιπά έξοδα (Other expenses)"
"65": "Τόκοι και συναφή έξοδα (Interest and related)"
"66": "Αποσβέσεις (Depreciation)"
class_7_income:
"70": "Πωλήσεις εμπορευμάτων (Sales of merchandise)"
"71": "Πωλήσεις προϊόντων (Sales of finished goods)"
"73": "Πωλήσεις υπηρεσιών (Service revenue)"
"74": "Επιχορηγήσεις - επιδοτήσεις (Grants and subsidies)"
"75": "Λοιπά έσοδα (Other income)"
"76": "Έσοδα κεφαλαίων (Investment income)"
```
### P&L Structure — Αποτελέσματα Χρήσεως
```yaml
PL_Structure:
revenue:
label_gr: "Κύκλος εργασιών"
label_en: "Revenue / Turnover"
accounts: ["70", "71", "73"]
other_income:
label_gr: "Λοιπά συRelated in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.