Real-World Use Cases
How real companies and teams use TAXIA to solve tax-related challenges.
🏢 Use Case 1: Customer Support Tax Chatbot
The Challenge
Company: SME consulting firm in Korea
Problem:
- 50+ daily customer calls asking basic tax questions
- Support team overwhelmed with repetitive queries
- Average response time: 15 minutes per question
- High support costs
The Solution
Built a tax chatbot using TAXIA that handles 80% of common questions instantly.
Implementation:
from taxia import TaxiaEngine
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
engine = TaxiaEngine()
class TaxQuestion(BaseModel):
question: str
user_id: str
@app.post("/ask")
async def ask_tax_question(query: TaxQuestion):
result = engine.answer(query.question)
return {
"answer": result.answer,
"legal_citations": [
{
"law": c.law_name,
"article": c.article_number,
"text": c.text
}
for c in result.citations
],
"confidence": result.confidence,
"trace_id": result.trace_id
}
Frontend Integration:
// Simple chat interface
async function askQuestion(question) {
const response = await fetch('http://api.example.com/ask', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
question: question,
user_id: getCurrentUserId()
})
});
const data = await response.json();
displayAnswer(data.answer, data.legal_citations);
}
Results
| Metric | Before TAXIA | After TAXIA | Improvement |
|---|---|---|---|
| Avg Response Time | 15 minutes | 3 seconds | 99.7% faster |
| Questions Handled | 50/day | 400/day | 8x capacity |
| Support Cost | $5,000/month | $800/month | 84% reduction |
| Customer Satisfaction | 72% | 94% | +22 points |
| 24/7 Availability | ❌ No | ✅ Yes | Always on |
Customer Testimonial
"TAXIA transformed our support operations. We went from drowning in basic tax questions to confidently handling 8x more queries at a fraction of the cost. The legal citations give us confidence that answers are accurate and defensible."
— 김지훈, CTO, TaxHelp Korea
💼 Use Case 2: Internal Tax Knowledge Base
The Challenge
Company: Mid-size manufacturing company
Problem:
- Employees constantly asking HR/Finance about tax deductions
- Complex Korean tax law confusing for non-specialists
- Outdated internal wiki with contradictory information
- Finance team spending 10+ hours/week on internal queries
The Solution
Built an internal "Tax Assistant" Slack bot powered by TAXIA.
Implementation:
from slack_bolt import App
from taxia import TaxiaEngine
app = App(token=SLACK_BOT_TOKEN)
engine = TaxiaEngine()
@app.message("세금") # Triggered by keyword "세금" (tax)
def handle_tax_question(message, say):
question = message['text']
# Query TAXIA
result = engine.answer(question)
# Format Slack message with citations
blocks = [
{
"type": "section",
"text": {"type": "mrkdwn", "text": f"*Answer:*\n{result.answer}"}
},
{"type": "divider"},
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Legal Citations:*\n" + "\n".join([
f"• {c.law_name} {c.article_number}: _{c.text[:100]}..._"
for c in result.citations[:3]
])
}
}
]
say(blocks=blocks, thread_ts=message['ts'])
app.start(port=3000)
Common Questions Handled:
- "연말정산 공제 항목은 뭐가 있나요?" (Year-end tax deductions)
- "종합소득세 신고 기한이 언제인가요?" (Income tax filing deadline)
- "자녀 세액공제는 얼마나 받을 수 있나요?" (Child tax credit amount)
- "주택자금 대출이자 공제 조건은?" (Housing loan interest deduction)
Results
| Metric | Before | After | Impact |
|---|---|---|---|
| Internal Tax Queries | 120/week | 120/week | Same volume |
| Finance Team Time | 12 hrs/week | 2 hrs/week | 83% time saved |
| Avg Response Time | 3 hours | 30 seconds | 360x faster |
| Employee Satisfaction | 65% | 91% | +26 points |
| Accuracy Rate | 75% (wiki) | 97% | +22 points |
Customer Testimonial
"Our finance team used to spend half a day every week answering the same tax questions over and over. Now our Slack bot handles 90% of queries instantly with legally accurate answers. Game changer for productivity."
— 이민정, CFO, KoreaManufacture Co.
🏛 Use Case 3: Tax Professional Assistant
The Challenge
Company: Tax accounting firm (세무회계법인)
Problem:
- Junior accountants spend hours researching tax law
- Multiple tax law amendments per year, hard to keep up
- Senior accountants bottle-necked answering junior questions
- Client questions need fast, accurate responses
The Solution
Built a "Tax Research Assistant" desktop app for accountants.
Implementation:
import streamlit as st
from taxia import TaxiaEngine
# Initialize TAXIA
@st.cache_resource
def get_engine():
return TaxiaEngine(
enable_graph_rag=True # Use graph reasoning for complex queries
)
engine = get_engine()
# Streamlit UI
st.title("🔍 Tax Research Assistant")
st.caption("Powered by TAXIA - Korean Tax Law Q&A")
# Input
question = st.text_area(
"Ask a tax law question:",
placeholder="예: 법인세법 제27조의 접대비 손금불산입 규정은?"
)
if st.button("Search"):
with st.spinner("Searching tax laws..."):
result = engine.answer(question)
# Display answer
st.success("Answer")
st.write(result.answer)
# Display citations
st.info("Legal Citations")
for i, citation in enumerate(result.citations, 1):
with st.expander(f"📄 {citation.law_name} {citation.article_number}"):
st.write(citation.text)
st.caption(f"Year: {citation.year}")
# Display related laws (Graph-RAG)
if result.related_laws:
st.warning("Related Laws")
for law in result.related_laws:
st.markdown(f"- {law}")
# Trace ID for debugging
st.caption(f"Trace ID: {result.trace_id}")
Advanced Features:
# Compare tax law changes across years
col1, col2 = st.columns(2)
with col1:
result_2024 = engine.answer(question, year=2024)
st.write("**2024 Law:**", result_2024.answer)
with col2:
result_2025 = engine.answer(question, year=2025)
st.write("**2025 Law:**", result_2025.answer)
# Highlight differences
if result_2024.answer != result_2025.answer:
st.error("⚠ Law changed between 2024 and 2025!")
Results
| Metric | Before TAXIA | After TAXIA | Improvement |
|---|---|---|---|
| Research Time/Query | 45 minutes | 2 minutes | 95.5% faster |
| Junior Productivity | 3 cases/day | 8 cases/day | 2.6x increase |
| Senior Interruptions | 20/day | 5/day | 75% reduction |
| Client Response SLA | 2 hours | 15 minutes | 87.5% faster |
| Billable Hours | +0 | +15 hrs/week | More revenue |
Customer Testimonial
"TAXIA is like having a senior tax attorney on call 24/7. Our junior accountants can research complex tax issues independently, freeing up seniors to focus on high-value client work. It's increased our team's capacity by 60% without hiring."
— 박준호, Managing Partner, 한국세무법인
🏦 Use Case 4: Tax Compliance Checker
The Challenge
Company: Fintech startup
Problem:
- Processing 10,000+ financial transactions daily
- Need to flag transactions requiring tax withholding
- Manual review is slow and error-prone
- Regulatory penalties for mistakes are severe
The Solution
Automated tax compliance checking integrated into transaction pipeline.
Implementation:
from taxia import TaxiaEngine
import asyncio
engine = TaxiaEngine()
async def check_transaction_compliance(transaction):
"""Check if transaction triggers tax obligations"""
# Build context-aware question
question = f"""
거래 내역:
- 거래 유형: {transaction['type']}
- 금액: {transaction['amount']:,}원
- 거래처: {transaction['counterparty']}
- 업종: {transaction['business_type']}
이 거래에 대해 원천징수가 필요한가요?
필요하다면 세율과 근거 법령을 알려주세요.
"""
result = engine.answer(question)
# Parse result for automation
requires_withholding = "원천징수" in result.answer and "필요" in result.answer
return {
"transaction_id": transaction['id'],
"requires_withholding": requires_withholding,
"explanation": result.answer,
"legal_basis": [c.article_number for c in result.citations],
"trace_id": result.trace_id
}
# Process transactions in batch
async def process_daily_transactions(transactions):
tasks = [check_transaction_compliance(t) for t in transactions]
results = await asyncio.gather(*tasks)
# Flag transactions needing review
flagged = [r for r in results if r['requires_withholding']]
return flagged
Results
| Metric | Before | After | Improvement |
|---|---|---|---|
| Transactions Checked | 100/day (manual) | 10,000/day (auto) | 100x scale |
| Checking Time | 5 min/transaction | 3 sec/transaction | 99% faster |
| Error Rate | 2.3% | 0.1% | 95% reduction |
| Compliance Penalties | $15K/year | $0/year | $15K saved |
| Staff Required | 3 FTE | 0.5 FTE | 83% savings |
Customer Testimonial
"We were terrified of missing tax withholding requirements on our high transaction volume. TAXIA checks every single transaction against current tax law automatically. Zero penalties in 18 months of operation."
— 최유진, Head of Compliance, PayEasy Korea
🎓 Use Case 5: Tax Education Platform
The Challenge
Company: Online education startup
Problem:
- Teaching tax law to accounting students
- Need interactive Q&A for learning
- Static textbooks outdated quickly
- Students need practice with real scenarios
The Solution
Interactive tax law learning platform with TAXIA-powered Q&A.
Implementation:
from taxia import TaxiaEngine
import gradio as gr
engine = TaxiaEngine()
def teaching_assistant(question, difficulty_level):
"""Provide educational tax law answers"""
# Adjust response based on difficulty
prompt_prefix = {
"beginner": "초보자도 이해할 수 있도록 쉽게 설명해주세요: ",
"intermediate": "세법 기본 지식이 있는 사람을 위해 설명해주세요: ",
"advanced": "세무 전문가 수준으로 상세히 설명해주세요: "
}
full_question = prompt_prefix[difficulty_level] + question
result = engine.answer(full_question)
# Format educational response
response = f"""
### 답변
{result.answer}
### 관련 법령
{chr(10).join([f"- {c.law_name} {c.article_number}" for c in result.citations])}
### 학습 팁
이 내용은 {result.citations[0].law_name}에 명시되어 있습니다.
추가 공부를 위해 관련 조문을 직접 읽어보는 것을 추천합니다.
"""
return response
# Gradio interface
interface = gr.Interface(
fn=teaching_assistant,
inputs=[
gr.Textbox(label="Tax Law Question", placeholder="예: 법인세율 구간은?"),
gr.Radio(["beginner", "intermediate", "advanced"], label="난이도")
],
outputs=gr.Markdown(label="Answer"),
title="🎓 Tax Law Learning Assistant",
description="Learn Korean tax law interactively with AI-powered Q&A"
)
interface.launch()
Practice Scenarios
# Generate practice questions
scenarios = [
{
"scenario": "A company with 300M KRW taxable income",
"question": "What is the total corporate tax?",
"learning_goal": "Understanding progressive tax brackets"
},
{
"scenario": "Employee receiving 50M KRW salary",
"question": "Calculate year-end tax settlement",
"learning_goal": "Income tax calculation and deductions"
}
]
for scenario in scenarios:
st.write(f"**Scenario:** {scenario['scenario']}")
answer = engine.answer(scenario['question'])
st.write(f"**Answer:** {answer.answer}")
st.caption(f"Learning Goal: {scenario['learning_goal']}")
Results
| Metric | Before | After | Impact |
|---|---|---|---|
| Student Questions | 50/week | 2,000/week | 40x engagement |
| Response Wait Time | 24 hours | Instant | Immediate |
| Student Satisfaction | 78% | 94% | +16 points |
| Pass Rate | 73% | 89% | +16 points |
| Teaching Staff | 5 instructors | 5 instructors | Same capacity |
Customer Testimonial
"Students love the instant, accurate answers to their tax law questions. It's like having a teaching assistant available 24/7. Student engagement has skyrocketed and pass rates are up 16 points."
— 정수연, Founder, TaxEdu Academy
📊 Implementation Comparison
Infrastructure Requirements
| Use Case | Mode | Components | Setup Time |
|---|---|---|---|
| Customer Chatbot | Production | API + Qdrant + Neo4j | 2 hours |
| Internal Knowledge Base | Local | API + Qdrant | 1 hour |
| Tax Professional Tool | Production | API + Qdrant + Neo4j | 2 hours |
| Compliance Checker | Production | API + Qdrant | 1 hour |
| Education Platform | Demo/Local | API + optional Qdrant | 30 min |
Cost Estimates (Monthly)
| Use Case | API Calls | Estimated Cost | ROI |
|---|---|---|---|
| Customer Chatbot | ~12,000 | $150-300 | $4,200 savings |
| Internal Knowledge | ~2,400 | $30-60 | $800 time savings |
| Tax Professional | ~8,000 | $100-200 | $3,000 efficiency |
| Compliance Checker | ~300,000 | $3,000-5,000 | $15,000+ penalties avoided |
| Education Platform | ~8,000 | $100-200 | Improved learning |
🚀 Getting Started with Your Use Case
Step 1: Choose Your Mode
- Quick Prototype? → Demo Mode
- Internal Tool? → Local Mode
- Production App? → Production Mode
Step 2: Start Small
from taxia import TaxiaEngine
# Start with demo mode
engine = TaxiaEngine(demo_mode=True)
# Test with your actual questions
questions = [
"Your typical question 1",
"Your typical question 2",
"Your typical question 3"
]
for q in questions:
result = engine.answer(q)
print(f"Q: {q}")
print(f"A: {result.answer}\n")
Step 3: Measure & Iterate
Track these metrics: - Response accuracy - Response time - User satisfaction - Cost per query - Queries handled
Step 4: Scale Up
When ready: 1. Switch to Local/Production mode 2. Index full tax law data 3. Add caching for frequent questions 4. Implement monitoring and logging 5. Optimize based on usage patterns
💡 Best Practices from Real Users
1. Start with Demo Mode
Test your use case before investing in infrastructure.
2. Use Korean for Better Results
Tax laws are in Korean, Korean queries work better.
3. Always Show Citations
Legal citations build trust and allow verification.
4. Implement Caching
Common questions can be cached to save API costs.
5. Monitor and Log
Track trace IDs for debugging and quality improvement.
6. Keep Data Updated
Tax laws change yearly, update your data regularly.
7. Test Edge Cases
Verify behavior with unusual or complex questions.
🤝 Share Your Use Case
Built something cool with TAXIA? We'd love to hear about it!
- GitHub Discussions: Share your project
- Case Study: Contact us for a feature
- Blog Post: Write about your experience
Contact: GitHub Issues
📚 Resources
- Getting Started - 5-minute quick start
- Configuration - Advanced customization
- Examples - Code patterns
- Troubleshooting - Common issues
Ready to build your use case? Get Started Now 🚀