stripe-projects
stripe projects
expense-report-generator
Generate formatted expense reports from receipt data or CSV. Create professional PDF reports with categorization, totals, and approval workflows.
Full skill instructions
Create professional expense reports from receipt data with automatic categorization and totals.
from expense_report import ExpenseReportGenerator
report = ExpenseReportGenerator()
# Set report info
report.set_employee("John Doe", "EMP001", "Engineering")
report.set_period("2024-01-01", "2024-01-31")
# Add expenses
report.add_expense(
date="2024-01-15",
description="Client dinner",
category="Meals",
amount=125.50,
receipt="receipt_001.jpg"
)
report.add_expense(
date="2024-01-18",
description="Uber to airport",
category="Transportation",
amount=45.00
)
# Generate report
report.generate_pdf("expense_report.pdf")
# From CSV
python expense_report.py --input expenses.csv --employee "John Doe" --output report.pdf
# With date range
python expense_report.py --input data.csv --start 2024-01-01 --end 2024-01-31 -o report.pdf
# Set department and approver
python expense_report.py --input data.csv --employee "Jane Smith" --dept Sales \
--approver "Bob Manager" -o report.pdf
# With policy limits
python expense_report.py --input data.csv --policy policy.json -o report.pdf
date,description,category,amount,receipt,notes
2024-01-15,Client dinner at Restaurant,Meals,125.50,receipt_001.jpg,Met with ABC Corp
2024-01-16,Uber to client site,Transportation,32.00,,
2024-01-17,Office supplies,Supplies,45.99,receipt_002.jpg,
2024-01-18,Flight to NYC,Travel,450.00,flight_confirm.pdf,Project kickoff
{
"employee": "John Doe",
"employee_id": "EMP001",
"department": "Engineering",
"period": {"start": "2024-01-01", "end": "2024-01-31"},
"expenses": [
{
"date": "2024-01-15",
"description": "Client dinner",
"category": "Meals",
"amount": 125.50,
"receipt": "receipt_001.jpg"
}
]
}
{
"limits": {
"Meals": 75,
"Transportation": 100,
"Lodging": 250,
"Supplies": 200
},
"requires_receipt": 25,
"requires_approval": 500,
"prohibited": ["Alcohol", "Personal items"]
}
class ExpenseReportGenerator:
def __init__(self)
# Report Setup
def set_employee(self, name: str, employee_id: str = None,
department: str = None) -> 'ExpenseReportGenerator'
def set_period(self, start: str, end: str) -> 'ExpenseReportGenerator'
def set_approver(self, name: str, title: str = None) -> 'ExpenseReportGenerator'
def set_project(self, project_name: str, project_code: str = None) -> 'ExpenseReportGenerator'
# Adding Expenses
def add_expense(self, date: str, description: str, category: str,
amount: float, receipt: str = None, notes: str = None,
reimbursable: bool = True) -> 'ExpenseReportGenerator'
def load_csv(self, filepath: str) -> 'ExpenseReportGenerator'
def load_json(self, filepath: str) -> 'ExpenseReportGenerator'
# Policy
def set_policy(self, policy: Dict) -> 'ExpenseReportGenerator'
def check_compliance(self) -> List[Dict]
# Analysis
def get_summary(self) -> Dict
def by_category(self) -> Dict[str, float]
def by_date(self) -> Dict[str, float]
def get_total(self) -> float
# Export
def generate_pdf(self, output: str) -> str
def generate_html(self, output: str) -> str
def to_csv(self, output: str) -> str
def to_json(self, output: str) -> str
Standard categories:
summary = report.get_summary()
# Returns:
# {
# "employee": "John Doe",
# "period": {"start": "2024-01-01", "end": "2024-01-31"},
# "total_expenses": 1250.50,
# "expense_count": 15,
# "categories": {
# "Meals": 325.00,
# "Transportation": 180.50,
# "Travel": 650.00,
# "Supplies": 95.00
# },
# "reimbursable": 1150.50,
# "non_reimbursable": 100.00,
# "receipts_attached": 12,
# "receipts_missing": 3
# }
# Set spending limits
report.set_policy({
"limits": {
"Meals": 75, # Per transaction limit
"Daily_meals": 100 # Daily limit
},
"requires_receipt": 25, # Receipts required above this
"requires_approval": 500 # Manager approval above this
})
# Check compliance
violations = report.check_compliance()
# Returns:
# [
# {"expense_id": 3, "type": "over_limit", "category": "Meals",
# "amount": 125.50, "limit": 75},
# {"expense_id": 7, "type": "missing_receipt", "amount": 45.00}
# ]
The PDF report includes:
Header
Summary Section
Expense Details Table
Category Charts
Compliance Notes
Approval Section
report = ExpenseReportGenerator()
report.set_employee("Sarah Johnson", "EMP042", "Marketing")
report.set_period("2024-02-01", "2024-02-29")
report.set_approver("Mike Director", "VP Marketing")
# Load from tracking spreadsheet
report.load_csv("february_expenses.csv")
# Check policy
violations = report.check_compliance()
if violations:
print(f"Warning: {len(violations)} policy violations")
# Generate report
report.generate_pdf("sarah_feb_expenses.pdf")
print(f"Total: ${report.get_total():,.2f}")
report = ExpenseReportGenerator()
report.set_employee("Project Team")
report.set_project("Website Redesign", "PRJ-2024-001")
report.set_period("2024-01-01", "2024-03-31")
# Add project expenses
report.add_expense("2024-01-15", "Design software license", "Software", 299.00)
report.add_expense("2024-02-01", "User testing incentives", "Research", 500.00)
report.add_expense("2024-02-20", "Stock photos", "Creative", 150.00)
summary = report.by_category()
print("Project Expenses by Category:")
for cat, amount in summary.items():
print(f" {cat}: ${amount:,.2f}")
stripe projects
Harvest every `ponytail:` comment in the codebase into a debt ledger, so the deliberate shortcuts and deferrals ponytail leaves behind get tracked instead of rotting into "later means never". One-shot report, changes nothing.
okx dex market
okx agentic wallet
gmgn portfolio
okx dapp discovery
okx agent payments protocol
Stripe payment processing with checkout sessions, subscriptions, webhooks, and customer management.
Build comprehensive 3-5 year financial models with revenue projections, cost structures, cash flow analysis, and scenario planning for early-stage startups. Use this skill when creating financial projections, calculating burn rate or runway, modeling fundraising scenarios, or preparing investor-r...
Stock and cryptocurrency analysis with portfolio management and multi-dimensional scoring.
Real-time crypto derivatives positioning, whale tracking, liquidations, and institutional ETF flows across 37 specialized tools.
Master dbt (data build tool) for analytics engineering with model organization, testing, documentation, and incremental strategies. Use when building data transformations, creating data models, or implementing analytics engineering best practices.
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Stay Ahead with Finalle.ai: The Ultimate Financial News and Tools Platform
AI-powered Pine Script code generator for TradingView
Research stocks at the speed of thought.
Empower your investment strategies with AI signals, option flow data, and advanced chart patterns.
Danelfin review covering its AI stock and ETF scores, rankings, portfolio tools, current pricing, strengths, risks, and alternatives for investors.
A software for comprehensive market sentiment analysis.
'Stock Correlations' App by Freshly.ai: Reveal Stock Patterns and Trends