External Resources and References¶
This document contains links to all external resources, documentation, specifications, and repositories referenced in the accounting service project. No code dependencies are included here.
Table of Contents¶
- Google Drive Documents
- GitLab Repositories
- Technical Specifications
- Platform Documentation
- Internal Systems
Google Drive Documents¶
Invoice Country-Specific Requirements 2025¶
Purpose: Specification of footer texts for different countries and tax jurisdictions
URL: https://docs.google.com/spreadsheets/d/1Jeuw5JoiONfZxk9_5HtaIW-jhjpfDezd/edit?gid=758256549#gid=758256549
Content:
- Country-specific invoice footer requirements
- Legal text variations by jurisdiction
- Tax registration information display rules
- Footer text mapped to
TiskoveIdfirst character
Used For:
- Determining invoice footer text based on
TiskoveId - Legal compliance for different tax jurisdictions
- Invoice template rendering
Tax Registrations by Country¶
Purpose: Overview of jurisdictions where FTMO holds local tax registrations
URL: https://docs.google.com/spreadsheets/d/14v7UJb8Cs5thIAM3FVuLOJ_48nVXSkErfq1QrxJAqo4/edit?gid=746490938#gid=746490938
Content:
- List of countries with FTMO tax registrations
- VAT/Tax rates by country
- Tax ID numbers for each jurisdiction
- Zero-rated VAT countries (countries without registration)
Used For:
- Setting up test data for different countries
- Determining VAT rates and tax handling
- Finance configuration validation
- Referenced in
enums.enums_company.Company
Vertex - Tax Manual¶
Purpose: Manual for Vertex tax integration and calculations.
URL: https://docs.google.com/document/d/1kGPnsYkduayzlBv1jR1DCjE-XYOzQ4ls3V3vkO0dTZ4/edit?tab=t.0#heading=h.3or32u4qiej8
ASS Documentations¶
Purpose: General documentation for the Accounting Service System (ASS).
URL: https://docs.google.com/document/d/1ivH9vWpd3M2tViVcqTHZPfrOEg__0k4qmz7j39vWoCg/edit?tab=t.0
Generování faktur a dopropisů pro testy na dev env¶
Purpose: Guide for generating invoices and credit notes for testing on the dev environment.
URL: https://docs.google.com/document/d/1FnvU0fd_MygqT5_2Q6ZbxE3XVBgcysgW8TutvqvWMFk/edit?tab=t.0#heading=h.64neo8190co9
Helios Import spec účetní 2022¶
Purpose: Accounting specification for Helios imports from 2022.
URL: https://docs.google.com/spreadsheets/d/1bMAvMPpAhEu1Vjp50YIin6MZ0tMSUmpwwRmNqkuPUcY/edit?gid=1873659250#gid=1873659250
Helios - Account Numbers (Čísla účetních účtů)¶
Purpose: Specification of Helios accounting account numbers
URL: https://docs.google.com/spreadsheets/d/1Z0tHyu3aEmcEEhzzkn7_Up1LQkL6o8BK884r7K1G2Ho/edit?gid=0#gid=0
Content:
- Complete list of Helios account numbers (
CisloUcetPol) - Account number mappings to item types
- General ledger account structure
- Revenue, expense, and liability accounts
Used For:
- Defining
CisloUcetPolenum values - Account mapping for invoice items
- Financial reporting classification
- Referenced in
enums.enums_item_types.CisloUcetPol
Helios - External attributes 2025¶
Purpose List of external attributes needed from 1.7.2025 on an invoice record
URL https://docs.google.com/spreadsheets/d/1ExnUDoEKrJk_6BWY_JTH8cMhomI7tvbs0Y4pc8TIZII/edit?gid=0#gid=0
FinSys - Domain Experts¶
Purpose: List of domain experts for different financial systems.
URL: https://docs.google.com/spreadsheets/d/15MJeFfKOU2VfICD5ja0td6htHntZ3P1Y-mVGezSdWGc/edit?gid=1919984391#gid=1919984391
GitLab Repositories¶
Accounting Service Main Repository¶
Purpose: Main codebase for accounting service (PHP backend + Python QA tests)
Base URL: https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service
Key References:
Test Data Directory¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/blob/5844fc2dde8acce78e704db5430fa33ff1a765dc/qa/test_data
Content:
- Payment info JSON files
- Test data fixtures
- Sample documents
DatabaseSetting Enum¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/-/blob/2866212037ea0de2d31736a051d07fad8ff9172e/qa/enums/enums_db_setting.py#L77
Content:
- Database configuration enum
- Platform mappings (Helios, Xero, NetSuite, Oanda)
- Company assignments per database
Company Enum¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/-/blob/b73546e4e8a2b38cafc1d50df42e5ff3f1c854ed/qa/enums/enums_company.py#L43
Content:
- FTMO company entities
- Company details (address, registration numbers)
- GDPR group assignments
- Tax registration setup
BankAccount Enum¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/-/blob/18aa4a9d31cceddb5dd4a2cd56c6930227bc85e3/qa/enums/enums_bank_account.py#L16
Content:
- Bank account information by company and currency
- Account numbers, routing numbers
- Bank names and addresses
CisloUcetPol Enum¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/-/blob/981818b205711dd71bab2946907fba8cc783230a/qa/enums/enums_item_types.py#L11
Content:
- Account number definitions
- Item type to account number mapping
- Platform-specific account logic
Document Helper - Bank Info¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/blob/d545f6b6f6add59b40e8ee11480e735801a438f6/qa/helpers/document_helper.py#L105
Content:
get_bank_info()function- Bank account selection logic
- Currency-based bank routing
Document Helper - Footer Info¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/blob/d545f6b6f6add59b40e8ee11480e735801a438f6/qa/helpers/document_helper.py#L93
Content:
- Footer legal text selection
TiskoveIdinterpretation logic- Company and print format handling
FooterVat Enum¶
**URL: ** https://gitlab.fftrader.cz/fftrader/accounting-service-team/accounting-service/blob/5844fc2dde8acce78e704db5430fa33ff1a765dc/qa/model/enums.py#L13
Content:
- Footer VAT text definitions
- Legal compliance text per jurisdiction
- Tax registration display text
QA Framework Monorepo¶
Purpose: Shared QA framework and utilities
URL: https://gitlab.fftrader.cz/qa-team/monorepo
Content:
- Common test utilities
- Shared test helpers
- Framework dependencies
Setup: Clone to the same parent directory as accounting-service for Python tests with Poetry.
Technical Specifications¶
Helios Orange Documentation¶
System: Czech accounting software used as primary platform
Key Features:
- Document import via staging tables
- Stored procedures for data processing
- Master data tables (TabDokladyZbozi, TabCisOrg)
- External attributes support (TabDokladyZboziExt)
Integration Points:
- Universal import tables (TabUniImportOrg, TabUniImportOZ)
- Document retrieval APIs
- PDF/HTML template rendering
ISO Standards¶
ISO 4217 - Currency Codes¶
Standard: International currency code standard
Examples:
- CZK - Czech Crown
- USD - US Dollar
- EUR - Euro
- GBP - British Pound
Used In:
Menafield (invoice currency)LokalniMenafield (local currency)- Currency enum definitions
ISO 3166-1 Alpha-2 - Country Codes¶
Standard: Two-letter country codes
Examples:
- CZ - Czech Republic
- US - United States
- GB - United Kingdom
- AU - Australia
- DE - Germany
Used In:
ZemeDPHfield (VAT country)IdZemefield (country ID)MistoZdanenifield (place of taxation)
Platform Documentation¶
Xero API Documentation¶
Platform: Cloud-based accounting software
Relevant Features:
- Custom account mappings
- Item ID references
- Tracking categories
- Rate limiting (requires 1.5s delay)
Integration Notes:
- Platform-specific account number handling
- Different item type codes vs Helios
- Xero-specific validation logic
Oracle NetSuite API¶
Platform: Oracle ERP system
Relevant Features:
- Entity IDs
- Custom item mappings
- Different naming conventions
Integration Notes:
- Platform-specific item type handling
- Empty
TiskoveIdfor NetSuite - Custom validation rules
Oanda Trading Platform¶
Platform: Trading platform for rewards/payouts
Relevant Features:
- Reward processing
- Payout calculations
- Trading account management
Integration Notes:
- Special JSON response format
- Google Cloud Storage integration
- Different document structure vs Helios
Internal Systems¶
Google Cloud Platform¶
Cloud Storage Bucket¶
Bucket Name: ftmo-oanda-invoices-data
Purpose:
- Store Oanda invoice documents
- Document archival
- Backup storage
Access:
- Requires Google Cloud authentication
- Service account credentials in
application_default_credentials.json - DevOps team manages access
Setup Command:
Fallback:
If credentials not available, documents stored locally in /accounting/var/oanda
Keycloak Identity Management¶
Purpose: Authentication and authorization system
Features:
- User authentication via JWT tokens
- Role-based access control
- GDPR group management
- Service account tokens
Roles:
accounting- Read accessaccounting_editor- Write access
GDPR Groups:
- ftmo-eval-global
- ftmo-trading-global
- jv-prop-eval-us
- oanda-prop-trading-us
- vrgk
GitLab CI/CD¶
Purpose: Continuous integration and deployment
Features:
- Automated test execution
- Build pipelines
- Deployment automation
- Test result reporting
Configuration Files:
.gitlab-ci.yml(main pipeline)qa-pipeline-patch.yml(QA-specific config)
Development Tools¶
Docker Network¶
Network Name: infra-demo
Creation Command:
Purpose:
- Container communication
- Service isolation
- Development environment networking
Poetry Package Manager¶
Purpose: Python dependency management
Project File: pyproject.toml
Setup:
Advantages:
- Deterministic builds via
uv.lock - Virtual environment management
- Dependency resolution
Makefile Commands¶
Purpose: Build automation and shortcuts
Key Commands:
make run- Run all testsmake run-smoke- Run regression testsmake run-regression- Run regression testsmake run-dev-container- Start Docker development containermake ci- Composer installmake cu- Composer update
Document Cross-References¶
Internal Documentation¶
For code-related documentation, see:
DEVELOPER_GUIDE.md- Setup, test users, Helios integration, and daily workflowARCHITECTURE.md- Technical architecture and design patternsINVOICE_IMPORT_WITH_PAYMENT_INFO_WALKTHROUGH.md- End-to-end flow documentation
Access and Permissions¶
Required Access¶
Google Cloud Storage:
- Read/write access to
ftmo-oanda-invoices-databucket - Contact: DevOps team
GitLab Repositories:
- Member of fftrader/accounting-service-team
- Member of qa-team (for framework monorepo)
Keycloak Test Users:
- Test user accounts configured with appropriate roles
- GDPR group memberships assigned
- Contact: QA Lead or DevOps team
Google Sheets:
- View access to specification spreadsheets
- Contact: Finance team or Product Owner
Update Procedures¶
When Specifications Change¶
Google Sheets Updates:
- Review changed requirements in Google Sheets
- Update corresponding enum definitions in code
- Update test data to match new specifications
- Update this document with new sheet versions if URLs change
Platform API Changes:
- Review platform (Xero/NetSuite/Oanda) API documentation
- Update integration code in service layer
- Update test expectations
- Update validation logic
Tax Registration Changes:
- Update "Tax registrations by country" spreadsheet
- Update
enums.enums_company.Companydefinitions - Update test cases for new jurisdictions
- Update VAT rate enums
Support Contacts¶
For Access Issues:
- DevOps Team - Infrastructure, GCP access, Keycloak
- Finance Team - Tax specifications, account numbers
- Product Owner - Business requirements, country specifications
For Technical Issues:
- Accounting Service Team - Backend integration, Helios
- QA Team - Test framework, test data
- Platform Teams - Xero/NetSuite/Oanda integrations