Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Greek tax compliance with AADE/TAXIS integration — VAT, payroll, EFKA, municipal taxes, stamp duty. Human confirmation for all submissions.
.claude/skills/greek-compliance-aade/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-10 | ✗→✓ | ▲ Improved | — | — |
| case-09 | ✗→✓ | ▲ Improved | — | — |
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-16 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
This skill transforms OpenClaw into a Greek accounting compliance specialist, handling AADE submissions, VAT calculations, payroll processing, social security contributions, and regulatory deadlines specific to Greek business operations.
bash# 1. Set data directory export OPENCLAW_DATA_DIR="/data" # 2. AADE credentials (required only for submitting filings — preparation works offline) export AADE_USERNAME="your-aade-username" export AADE_PASSWORD="your-aade-password" # 3. Ensure dependencies which jq curl || sudo apt install jq curl # 4. Create compliance directories mkdir -p $OPENCLAW_DATA_DIR/compliance/{vat,efka,mydata,e1,e3}
Security notes:
yamlHour Categories: regular_hours: - max_per_day: 8 - max_per_week: 40 - rate_multiplier: 1.0 overtime_hours: - daily_overtime: "Hours 9-10 per day" - weekly_overtime: "Hours 41-45 per week" - rate_multiplier: 1.25 exceptional_overtime: - daily_exceptional: "Hours 11+ per day" - weekly_exceptional: "Hours 46+ per week" - rate_multiplier: 1.5 holiday_work: - public_holidays: "Greek national holidays" - rate_multiplier: 2.0 night_shift: - hours: "22:00-06:00" - additional_rate: 0.25
yamlEmployee Contributions: efka_main: - rate: 6.67% - cap: "Monthly maximum ‚¬6,500" - description: "Main pension contribution" efka_auxiliary: - rate: 3.0% - cap: "Monthly maximum ‚¬6,500" - description: "Auxiliary pension" unemployment_insurance: - employee_rate: 0.87% - employer_rate: 2.26% - description: "OAED unemployment insurance" health_insurance: - employee_rate: 2.95% - employer_rate: 4.3% - description: "EOPYY health insurance" Employer Contributions: efka_employer: - rate: 22.29% - description: "Main employer EFKA contribution" work_accidents: - rate: 1.0% - description: "Work accident insurance" family_benefits: - rate: 1.0% - description: "Family allowance fund"
yamlIncome Tax Brackets (2026): bracket_1: - range: "‚¬0 - ‚¬10,000" - rate: 9% bracket_2: - range: "‚¬10,001 - ‚¬20,000" - rate: 22% bracket_3: - range: "‚¬20,001 - ‚¬30,000" - rate: 28% bracket_4: - range: "‚¬30,001 - ‚¬40,000" - rate: 36% bracket_5: - range: "‚¬40,001+" - rate: 44% Tax Credits: basic_credit: ‚¬2,100 family_credit: "‚¬777 per child" disability_credit: "Per disability level" low_income_credit: "Income dependent"
yamlStandard_Rate_24%: applies_to: - "General goods and services" - "Professional services" - "Construction services" - "Telecommunications" - "Financial services" Reduced_Rate_13%: applies_to: - "Food and beverages" - "Restaurants and catering" - "Hotels and accommodation" - "Medical services" - "Educational services" Super_Reduced_Rate_6%: applies_to: - "Books and newspapers" - "Pharmaceutical products" - "Cultural events" - "Public transport" Zero_Rate_0%: applies_to: - "Exports outside EU" - "International transport" - "Diplomatic exemptions" - "Some medical equipment" Island_Rates: description: "Reduced rates for Greek islands" standard_island: 17% reduced_island: 9% super_reduced_island: 4% applies_to: - "Aegean islands (except Skyros)" - "Ionian islands (except Corfu and Zakynthos)"
yamlRequired_Invoice_Fields: issuer_info: - vat_number: "Greek VAT registration number" - tax_office: "Tax office code" - business_name: "Legal business name" - address: "Complete registered address" customer_info: - vat_number: "Customer VAT (if business)" - name: "Customer name/business name" - address: "Customer address" - country: "ISO country code" invoice_details: - series: "Invoice series designation" - number: "Sequential invoice number" - issue_date: "ISO date format" - invoice_type: "Sales, Services, Credit Note, etc." line_items: - description: "Service/product description" - quantity: "Decimal quantity" - unit_price: "Price per unit" - vat_rate: "Applicable VAT percentage" - vat_amount: "Calculated VAT" - total_amount: "Line total including VAT" payment_methods: - method_code: "AADE payment method code" - amount: "Amount paid by this method" - payment_date: "When payment received"
yamlVAT_Return: due_date: "20th of following month" late_penalty: "5% of tax due + interest" Payroll_Submissions: efka_contributions: "15th of following month" withholding_tax: "20th of following month" Invoice_Submission: mydata_upload: "Real-time (within 24 hours)" batch_processing: "Daily at midnight"
yamlQuarterly_VAT: q1_deadline: "April 25" q2_deadline: "July 25" q3_deadline: "October 25" q4_deadline: "January 25 (following year)" Social_Security_Reports: efka_quarterly: "Last day of month following quarter" accident_reports: "January 31, April 30, July 31, October 31"
yamlIncome_Tax_Returns: individuals: "June 30" businesses: "May 31" extensions_available: "Until August 31 with penalty" Property_Tax_ENFIA: declaration_due: "April 30" payment_installments: - first: "End of July" - second: "End of September" - third: "End of November" - fourth: "End of January (following year)" Annual_Financial_Statements: small_companies: "July 31" medium_large_companies: "June 30" audit_required: "Companies over ‚¬4M revenue"
markdown1. **AADE Status Check**: Verify TAXIS connectivity and any system announcements 2. **myDATA Sync**: Process overnight invoice submissions and confirmations 3. **VAT Rate Updates**: Check for any VAT rate changes or announcements 4. **Deadline Alerts**: Review upcoming compliance deadlines (next 7 days) 5. **Payroll Hour Collection**: Gather employee hour submissions from previous day 6. **Bank Reconciliation**: Download overnight bank transactions from Greek banks
markdown1. **Invoice Processing**: Real-time myDATA submission for new invoices 2. **Hour Tracking**: Record employee hours as they're submitted 3. **Expense Categorization**: Apply correct VAT rates and deductibility rules 4. **Social Security Monitoring**: Track contribution calculations and payments 5. **Municipal Fee Tracking**: Monitor local authority payment due dates
markdown1. **Daily VAT Summary**: Calculate daily VAT position and running totals 2. **Payroll Validation**: Verify all employee hours recorded accurately 3. **AADE Submission Confirmation**: Ensure all invoices successfully submitted 4. **Tomorrow's Alerts**: Preview upcoming deadlines and required actions 5. **Backup Verification**: Confirm all processed data backed up securely
markdown1. **VAT Return Preparation**: Compile VAT transactions for monthly return 2. **Payroll Calculations**: Process monthly salaries with all deductions 3. **EFKA Contribution Prep**: Calculate and prepare social security payments 4. **Client Invoice Generation**: Create and submit client invoices via myDATA 5. **Expense Validation**: Final review of monthly business expenses
markdown1. **VAT Return Submission**: Submit monthly VAT return to AADE via TAXIS 2. **Payroll Distribution**: Generate payslips and process salary payments 3. **Social Security Filing**: Submit EFKA contributions and employee declarations 4. **Municipal Tax Review**: Check for any municipal fee payments due 5. **Financial Statement Prep**: Monthly P&L and balance sheet generation
yamlEmployee: "Nikos Papadopoulos" Pay_Period: "February 2026" Employee_Type: "Full-time hourly" Weekly_Schedule: monday: "08:00-16:00 (8 hours)" tuesday: "08:00-16:00 (8 hours)" wednesday: "08:00-16:00 (8 hours)" thursday: "08:00-16:00 (8 hours)" friday: "08:00-16:00 (8 hours)" saturday: "Overtime: 08:00-12:00 (4 hours)" sunday: "Rest day" Monthly_Calculation: regular_hours: 160 # (4 weeks × 40 hours) overtime_hours: 16 # (4 weeks × 4 hours Saturday) public_holiday_hours: 8 # (Clean Monday) total_hours: 184 Gross_Pay_Calculation: hourly_rate: ‚¬12.00 regular_pay: ‚¬1,920.00 # (160 × ‚¬12.00) overtime_pay: ‚¬240.00 # (16 × ‚¬12.00 × 1.25) holiday_pay: ‚¬192.00 # (8 × ‚¬12.00 × 2.0) gross_total: ‚¬2,352.00
yamlSocial_Security_Deductions: efka_main: ‚¬156.81 # (‚¬2,352 × 6.67%) efka_auxiliary: ‚¬70.56 # (‚¬2,352 × 3.0%) unemployment: ‚¬20.46 # (‚¬2,352 × 0.87%) health_insurance: ‚¬69.38 # (‚¬2,352 × 2.95%) total_ss_deductions: ‚¬317.21 Income_Tax_Calculation: annual_projection: ‚¬28,224 # (‚¬2,352 × 12) tax_bracket_1: ‚¬900.00 # (‚¬10,000 × 9%) tax_bracket_2: ‚¬2,200.00 # (‚¬10,000 × 22%) tax_bracket_3: ‚¬2,240.00 # (‚¬8,224 × 28%) gross_annual_tax: ‚¬5,340.00 annual_tax_credit: ‚¬2,100.00 net_annual_tax: ‚¬3,240.00 monthly_withholding: ‚¬270.00 Net_Pay_Calculation: gross_pay: ‚¬2,352.00 social_security: -‚¬317.21 income_tax: -‚¬270.00 net_pay: ‚¬1,764.79
bash# Core document processing npx openclaw skills add deepread # OCR for Greek documents npx openclaw skills add pdf-tools # PDF manipulation # Other Greek accounting skills (install alongside this one) npx openclaw skills add greek-banking-integration # Bank statement import for VAT reconciliation npx openclaw skills add efka-api-integration # Social security submissions npx openclaw skills add cli-deadline-monitor # Deadline alerts for AADE obligations npx openclaw skills add client-data-management # Client records and filing history
yamlAADE_TAXIS: base_url: "https://www1.aade.gr/taxisnet" authentication: "Greek Tax ID + Password + 2FA" rate_limits: "1000 requests/hour" myDATA_Platform: base_url: "https://mydata-dev.azure-api.net" # Test environment production_url: "https://mydatapi.aade.gr" authentication: "Username/password + optional digital certificate" real_time_required: "Invoice submission within 24 hours" EFKA_Portal: base_url: "https://www.efka.gov.gr" submission_method: "File upload + digital signature" deadlines: "15th of following month" Greek_Banks_API: alpha_bank: "Open Banking PSD2 API" nbg: "Developer Portal API" eurobank: "Business API Gateway" piraeus: "WinBank Business API"
All filings to AADE, EFKA, and myDATA require two-person approval before submission. This protects against accidental filings and provides professional liability coverage.
yamlFour_Eyes_Workflow: step_1_prepare: role: "accountant" action: "Prepare the filing (VAT return, EFKA declaration, myDATA submission)" command: "openclaw greek vat-return --client EL123456789 --period 2026-01 --prepare" output: "Draft filing saved to /data/processing/compliance/ with status: prepared" step_2_review: role: "senior_accountant" action: "Review the prepared filing — verify figures, check for anomalies" command: "openclaw greek review-filing --afm EL123456789 --period 2026-01 --type vat" output: "Filing displayed with summary, comparison to prior period, and anomaly flags" step_3_approve: role: "senior_accountant" action: "Explicitly approve the filing for submission" command: "openclaw greek approve-filing --afm EL123456789 --period 2026-01 --type vat --approved-by m.papadopoulou" output: "Filing status changed to: approved. Approval logged to audit trail." step_4_submit: role: "senior_accountant" action: "Submit the approved filing to the government system" command: "openclaw greek submit-filing --afm EL123456789 --period 2026-01 --type vat" gate: "System verifies filing has approval record before allowing submission" output: "Filing submitted. Confirmation receipt stored. Status: submitted." enforcement: - "A filing with status 'prepared' cannot be submitted — it must be 'approved' first" - "The preparer and approver must be different users" - "Both preparer and approver are recorded in the audit event" - "Emergency override requires admin role and logs a security event" audit_record: prepared_by: "username of accountant who prepared the filing" prepared_at: "timestamp of preparation" approved_by: "username of senior_accountant who approved" approved_at: "timestamp of approval" submitted_by: "username of person who triggered submission" submitted_at: "timestamp of submission" submission_ref: "AADE/EFKA confirmation reference"
This workflow applies to:
markdownCommand: openclaw compliance vat-return --client EL987654321 --period 2026-02 --prepare System Response: 1. Loads all February invoices and receipts from /data/clients/EL987654321/documents/ 2. Applies correct VAT rates (24%, 13%, 6%) based on transaction type and KAD 3. Calculates VAT position: EUR15,250 collected, EUR3,480 paid = EUR11,770 net due 4. Generates TAXIS XML at /data/compliance/vat/EL987654321_202602_vat_return.xml 5. Validates XML against current AADE schema before submission Output: "February VAT return prepared. Net VAT due: EUR11,770. Payment due: March 20, 2026." Next step: openclaw compliance vat-return --client EL987654321 --period 2026-02 --submit
markdownCommand: openclaw compliance payroll --client EL987654321 --employee "Maria Konstantinou" --period 2026-02 --hours-file /data/incoming/hours/maria_feb2026.csv System Response: 1. Loads hours data: 168 regular + 8 Sunday overtime + 8 public holiday (Clean Monday) 2. Calculates gross pay: EUR15/hr x 168 + EUR18.75/hr x 8 + EUR30/hr x 8 = EUR2,910.00 3. Applies EFKA deductions: EUR431.58 (employee portion across all categories) 4. Calculates income tax withholding: EUR402.30 5. Writes payslip to /data/clients/EL987654321/payroll/2026-02/maria_konstantinou_payslip.pdf 6. Prepares EFKA declaration file for submission Output: "Payslip generated. Net pay: EUR2,076.12. EFKA declaration ready for submission." Next step: openclaw efka submit-declaration --client EL987654321 --period 2026-02
markdownCommand: openclaw compliance mydata-submit --client EL987654321 --invoice /data/ocr/output/accounting-ready/inv_2026_456.pdf System Response: 1. Extracts required myDATA fields from invoice (vendor, customer, amounts, VAT, dates) 2. Identifies EU client -- applies reverse charge VAT (0% output, note added) 3. Generates myDATA XML with required structure 4. Submits to AADE myDATA API at mydatapi.aade.gr 5. Receives and stores confirmation receipt 6. Logs submission to /data/clients/EL987654321/compliance/filings.json Output: "Invoice #2026-456 submitted to myDATA. Confirmation: AAD-2026-ABC123456789."
yamlConnection_Errors: symptoms: "TAXIS login failures" solutions: - "Check internet connectivity" - "Verify tax credentials" - "Check 2FA token validity" - "Retry with exponential backoff" Validation_Errors: symptoms: "XML submission rejected" solutions: - "Validate against current AADE schema" - "Check all mandatory fields" - "Verify VAT calculations" - "Confirm digital signature validity" Rate_Limiting: symptoms: "Too many requests error" solutions: - "Implement request queuing" - "Batch multiple submissions" - "Spread submissions across day" - "Use off-peak hours for bulk operations"
yamlHour_Tracking_Errors: symptoms: "Overtime calculations incorrect" solutions: - "Verify Greek labor law compliance" - "Check holiday calendar updates" - "Validate employee contract terms" - "Review collective agreement rules" Social_Security_Errors: symptoms: "EFKA contribution mismatch" solutions: - "Update contribution rates quarterly" - "Check salary caps and thresholds" - "Verify employee insurance category" - "Review disability/age adjustments"
A successful Greek compliance system should achieve:
Remember: This skill enhances accuracy and efficiency but professional oversight remains essential for Greek tax compliance.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-10 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | pass→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 21 counted toward the lift figure. The other 1 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +59 percentage points is the difference between those two pass rates over the 21 comparable cases.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.