from pathlib import Path from openpyxl import Workbook ROOT = Path(__file__).resolve().parents[1] OUT_DIR = ROOT / "sample-data" def write_workbook(template_code: str, rows: list[list[str]], filename: str) -> None: workbook = Workbook() meta_sheet = workbook.active meta_sheet.title = "META" meta_sheet.append(["key", "value"]) meta_sheet.append(["templateCode", template_code]) meta_sheet.append(["templateVersion", "1.0"]) data_sheet = workbook.create_sheet("DATA") if template_code == "trial-balance": headers = ["fiscalPeriod", "entityCode", "accountCode", "partnerEntityCode", "currencyCode", "debitAmount", "creditAmount"] else: headers = ["fiscalPeriod", "entityCode", "accountCode", "currencyCode", "scenarioCode", "amountValue"] data_sheet.append(headers) for row in rows: data_sheet.append(row) workbook.save(OUT_DIR / filename) def main() -> None: OUT_DIR.mkdir(parents=True, exist_ok=True) write_workbook( "trial-balance", [ ["2026-03", "US1", "AR_INT", "", "USD", "100", "0"], ["2026-03", "HQ", "REV_EXT", "", "KRW", "0", "70"], ], "trial-balance-invalid.xlsx", ) write_workbook( "trial-balance", [ ["2026-03", "US1", "AR_INT", "HQ", "USD", "100", "0"], ["2026-03", "HQ", "AP_INT", "US1", "KRW", "0", "100"], ["2026-03", "HQ", "REV_EXT", "", "KRW", "0", "200000"], ["2026-03", "HQ", "EXP_OPEX", "", "KRW", "200000", "0"], ], "trial-balance-valid.xlsx", ) write_workbook( "forecast", [ ["2026-03", "US1", "REV_EXT", "USD", "PLAN", "500"], ["2026-03", "SG1", "EXP_OPEX", "SGD", "FORECAST", "100"], ], "forecast-valid.xlsx", ) write_workbook("trial-balance", [], "trial-balance-template.xlsx") write_workbook("forecast", [], "forecast-template.xlsx") if __name__ == "__main__": main()