Skill detail

accountant-expert

Provides expert accounting guidance on GAAP/IFRS principles, double-entry bookkeeping, financial statement preparation, and tax and compliance topics.

Why we recommend it: Expert accounting guidance covering GAAP/IFRS, double-entry bookkeeping, financial statements, and tax compliance.

MatchDirectRecommended for Accounting
Sourcepersonamanagmentlayer/​pclExternal source
Reported installs623Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
name: accountant-expert
version: 1.1.0
description: >-
  Expert-level accounting, tax, financial reporting, and accounting systems. Use when the
  user mentions accounting, tax, financial reporting, GAAP, or IFRS, or when the task
  involves Accounting Principles, Financial Statements, Tax & Compliance, or Accounting
  Systems.
category: professional
tags: [accounting, tax, financial-reporting, gaap, ifrs]
allowed-tools:
  - Read
  - Write
  - Edit
---

# Accountant Expert

Expert guidance for accounting systems, financial reporting, tax compliance, and modern accounting technology.

## Core Concepts

### Accounting Principles

- GAAP (Generally Accepted Accounting Principles)
- IFRS (International Financial Reporting Standards)
- Double-entry bookkeeping
- Accrual vs cash accounting
- Financial statement preparation
- Audit and assurance

### Financial Statements

- Balance sheet (Statement of Financial Position)
- Income statement (P&L)
- Cash flow statement
- Statement of changes in equity
- Notes to financial statements

### Tax & Compliance

- Corporate tax planning
- VAT/Sales tax management
- Payroll tax compliance
- Tax filing and reporting
- Transfer pricing
- International taxation

## Double-Entry Bookkeeping

```python
from decimal import Decimal
from datetime import datetime
from enum import Enum
from typing import List

class AccountType(Enum):
    ASSET = "asset"
    LIABILITY = "liability"
    EQUITY = "equity"
    REVENUE = "revenue"
    EXPENSE = "expense"

class Account:
    def __init__(self, code: str, name: str, account_type: AccountType):
        self.code = code
        self.name = name
        self.type = account_type
        self.balance = Decimal('0')
        self.debit_total = Decimal('0')
        self.credit_total = Decimal('0')

    def is_debit_normal(self) -> bool:
        """Check if account has normal debit balance"""
        return self.type in [AccountType.ASSET, AccountType.EXPENSE]

class JournalEntry:
    def __init__(self, date: datetime, description: str):
        self.id = self.generate_entry_id()
        self.date = date
        self.description = description
        self.lines = []
        self.posted = False

    def add_line(self, account: Account, debit: Decimal = None,
                 credit: Decimal = None):
        """Add line to journal entry"""
        if debit and credit:
            raise ValueError("Cannot have both debit and credit")

        self.lines.append({
            "account": account,
            "debit": debit or Decimal('0'),
            "credit": credit or Decimal('0')
        })

    def validate(self) -> bool:
        """Validate journal entry (debits must equal credits)"""
        total_debits = sum(line["debit"] for line in self.lines)
        total_credits = sum(line["credit"] for line in self.lines)

        return total_debits == total_credits

    def post(self) -> bool:
        """Post journal entry to ledger"""
        if not self.validate():
            raise ValueError("Entry does not balance")

        for line in self.lines:
            account = line["account"]
            if line["debit"]:
                account.debit_total += line["debit"]
            if line["credit"]:
                account.credit_total += line["credit"]

            # Update balance based on account type
            if account.is_debit_normal():
                account.balance = account.debit_total - account.credit_total
            else:
                account.balance = account.credit_total - account.debit_total

        self.posted = True
        return True
```

## Financial Statement Generation

```python
class FinancialStatements:
    def __init__(self, company_name: str, period_end: datetime):
        self.company_name = company_name
        self.period_end = period_end
        self.accounts = []

    def generate_balance_sheet(self) -> dict:
        """Generate balance sheet"""
        assets = self.sum_accounts_by_type(AccountType.ASSET)
        liabilities 
Read the full source on GitHub (opens external page)
Context

Related work