[{"data":1,"prerenderedAt":277},["ShallowReactive",2],{"$f1tfblika9wrht":3,"mdc-vued94-key":15},{"release":4,"newer":10,"older":12,"page":14},{"tag":5,"name":5,"publishedAt":6,"url":7,"prerelease":8,"markdown":9},"v1.0.5","2026-03-09T21:09:29Z","https:\u002F\u002Fgithub.com\u002Fanhourtec\u002FBookYourPTO-SaaS\u002Freleases\u002Ftag\u002Fv1.0.5",false,"### New Features\r\n\r\n#### Introducing MCP for BookYourPTO\r\n- Connect your AI assistant (Claude Code, Cursor, Claude Desktop) to BookYourPTO and manage PTO, expenses, time tracking, and more through natural language\r\n- 28 tools across leave management, expense reports, time tracking, calendar, approvals, org settings, and user profiles\r\n- Secure OAuth 2.0 login — sign in via your browser, passwords never touch the AI\r\n- One-click authorize when already logged in, full login with 2FA support otherwise\r\n\r\n#### In-App Support\r\n- Submit bug reports, feature requests, general issues, and security vulnerabilities directly from the app\r\n- Attach files and screenshots to your support tickets\r\n- Rate limiting to prevent spam\r\n\r\n#### Bulk Scanning\r\n- Bulk receipt scanning with redesigned scanner UI\r\n\r\n#### Company Card Expense Settings\r\n- Enable\u002Fdisable company card expenses per organization via Expense Settings\r\n- Role-based access control: Admins can allow all roles to create company card reports, or restrict to admins\u002Fexecutives only\r\n- Optional approval workflow: Company card expenses can optionally require approval before being marked as paid. When disabled, admins can mark as paid directly from draft status\r\n\r\n#### QuickBooks Bill Payment Sync\r\n- When an expense is marked as paid and a Payment Account is configured, a BillPayment is automatically created so bills show as \"Paid\" in QuickBooks\r\n- If a bill's total changes after the initial payment, the amount is automatically updated on re-sync\r\n- Multi-currency support: payment amounts now correctly match the QuickBooks bill total regardless of currency\r\n\r\n#### Tax & Gratuity in QBO Bills\r\n- Line item descriptions in QBO now include a tax breakdown and gratuity amounts for full financial visibility\r\n\r\n#### Gratuity\u002FTip Field\r\n- Added gratuity\u002Ftip input to the bulk receipt import scanner (desktop and mobile)\r\n- Gratuity field available on individual purchase add\u002Fedit forms\r\n\r\n### Bug Fixes\r\n- Fix PDF receipts not viewable in purchases tab and receipts tab — PDFs now render inline instead of showing as broken images\r\n- Fix avatar errors cascading across all pages — gracefully falls back to initials when avatar file is missing\r\n- Fix calendar header misalignment on mobile\r\n- Fix dashboard mobile view — stack avatar and name vertically to prevent name overflow onto calendar dates\r\n- Fix email verification failing after registration\r\n- Fix support form not pre-populating when opened from a direct link\r\n- Fix expense data (purchases, per diems, receipts) disappearing after submit, approve, reject, or mark-paid actions\r\n- Fix QuickBooks Payment Account selection not persisting after page refresh\r\n- Fix \"Sync All\" not updating existing bills in QuickBooks for paid reports\r\n- Fix BillPayment amounts not matching bill totals for multi-currency expenses\r\n- Fix \"All\" status pill count not matching the number of visible expense rows\r\n\r\n### Theming \u002F White-Label\r\n- Replaced all hardcoded purple\u002Fviolet colors with theme-aware primary colors across Company Card UI elements\r\n\r\n### Improvements\r\n- QuickBooks integration now shows official logo in navigation (full color when active, grayscale when inactive)\r\n- Fix QuickBooks connect failing in production due to missing environment variable mappings\r\n",{"tag":11,"name":11},"v1.0.6",{"tag":13,"name":13},"v1.0.4",2,{"data":16,"body":17},{},{"type":18,"children":19},"root",[20,29,36,61,67,85,91,99,105,123,129,147,153,161,167,180,186,244,250,258,264],{"type":21,"tag":22,"props":23,"children":25},"element","h3",{"id":24},"new-features",[26],{"type":27,"value":28},"text","New Features",{"type":21,"tag":30,"props":31,"children":33},"h4",{"id":32},"introducing-mcp-for-bookyourpto",[34],{"type":27,"value":35},"Introducing MCP for BookYourPTO",{"type":21,"tag":37,"props":38,"children":39},"ul",{},[40,46,51,56],{"type":21,"tag":41,"props":42,"children":43},"li",{},[44],{"type":27,"value":45},"Connect your AI assistant (Claude Code, Cursor, Claude Desktop) to BookYourPTO and manage PTO, expenses, time tracking, and more through natural language",{"type":21,"tag":41,"props":47,"children":48},{},[49],{"type":27,"value":50},"28 tools across leave management, expense reports, time tracking, calendar, approvals, org settings, and user profiles",{"type":21,"tag":41,"props":52,"children":53},{},[54],{"type":27,"value":55},"Secure OAuth 2.0 login — sign in via your browser, passwords never touch the AI",{"type":21,"tag":41,"props":57,"children":58},{},[59],{"type":27,"value":60},"One-click authorize when already logged in, full login with 2FA support otherwise",{"type":21,"tag":30,"props":62,"children":64},{"id":63},"in-app-support",[65],{"type":27,"value":66},"In-App Support",{"type":21,"tag":37,"props":68,"children":69},{},[70,75,80],{"type":21,"tag":41,"props":71,"children":72},{},[73],{"type":27,"value":74},"Submit bug reports, feature requests, general issues, and security vulnerabilities directly from the app",{"type":21,"tag":41,"props":76,"children":77},{},[78],{"type":27,"value":79},"Attach files and screenshots to your support tickets",{"type":21,"tag":41,"props":81,"children":82},{},[83],{"type":27,"value":84},"Rate limiting to prevent spam",{"type":21,"tag":30,"props":86,"children":88},{"id":87},"bulk-scanning",[89],{"type":27,"value":90},"Bulk Scanning",{"type":21,"tag":37,"props":92,"children":93},{},[94],{"type":21,"tag":41,"props":95,"children":96},{},[97],{"type":27,"value":98},"Bulk receipt scanning with redesigned scanner UI",{"type":21,"tag":30,"props":100,"children":102},{"id":101},"company-card-expense-settings",[103],{"type":27,"value":104},"Company Card Expense Settings",{"type":21,"tag":37,"props":106,"children":107},{},[108,113,118],{"type":21,"tag":41,"props":109,"children":110},{},[111],{"type":27,"value":112},"Enable\u002Fdisable company card expenses per organization via Expense Settings",{"type":21,"tag":41,"props":114,"children":115},{},[116],{"type":27,"value":117},"Role-based access control: Admins can allow all roles to create company card reports, or restrict to admins\u002Fexecutives only",{"type":21,"tag":41,"props":119,"children":120},{},[121],{"type":27,"value":122},"Optional approval workflow: Company card expenses can optionally require approval before being marked as paid. When disabled, admins can mark as paid directly from draft status",{"type":21,"tag":30,"props":124,"children":126},{"id":125},"quickbooks-bill-payment-sync",[127],{"type":27,"value":128},"QuickBooks Bill Payment Sync",{"type":21,"tag":37,"props":130,"children":131},{},[132,137,142],{"type":21,"tag":41,"props":133,"children":134},{},[135],{"type":27,"value":136},"When an expense is marked as paid and a Payment Account is configured, a BillPayment is automatically created so bills show as \"Paid\" in QuickBooks",{"type":21,"tag":41,"props":138,"children":139},{},[140],{"type":27,"value":141},"If a bill's total changes after the initial payment, the amount is automatically updated on re-sync",{"type":21,"tag":41,"props":143,"children":144},{},[145],{"type":27,"value":146},"Multi-currency support: payment amounts now correctly match the QuickBooks bill total regardless of currency",{"type":21,"tag":30,"props":148,"children":150},{"id":149},"tax-gratuity-in-qbo-bills",[151],{"type":27,"value":152},"Tax & Gratuity in QBO Bills",{"type":21,"tag":37,"props":154,"children":155},{},[156],{"type":21,"tag":41,"props":157,"children":158},{},[159],{"type":27,"value":160},"Line item descriptions in QBO now include a tax breakdown and gratuity amounts for full financial visibility",{"type":21,"tag":30,"props":162,"children":164},{"id":163},"gratuitytip-field",[165],{"type":27,"value":166},"Gratuity\u002FTip Field",{"type":21,"tag":37,"props":168,"children":169},{},[170,175],{"type":21,"tag":41,"props":171,"children":172},{},[173],{"type":27,"value":174},"Added gratuity\u002Ftip input to the bulk receipt import scanner (desktop and mobile)",{"type":21,"tag":41,"props":176,"children":177},{},[178],{"type":27,"value":179},"Gratuity field available on individual purchase add\u002Fedit forms",{"type":21,"tag":22,"props":181,"children":183},{"id":182},"bug-fixes",[184],{"type":27,"value":185},"Bug Fixes",{"type":21,"tag":37,"props":187,"children":188},{},[189,194,199,204,209,214,219,224,229,234,239],{"type":21,"tag":41,"props":190,"children":191},{},[192],{"type":27,"value":193},"Fix PDF receipts not viewable in purchases tab and receipts tab — PDFs now render inline instead of showing as broken images",{"type":21,"tag":41,"props":195,"children":196},{},[197],{"type":27,"value":198},"Fix avatar errors cascading across all pages — gracefully falls back to initials when avatar file is missing",{"type":21,"tag":41,"props":200,"children":201},{},[202],{"type":27,"value":203},"Fix calendar header misalignment on mobile",{"type":21,"tag":41,"props":205,"children":206},{},[207],{"type":27,"value":208},"Fix dashboard mobile view — stack avatar and name vertically to prevent name overflow onto calendar dates",{"type":21,"tag":41,"props":210,"children":211},{},[212],{"type":27,"value":213},"Fix email verification failing after registration",{"type":21,"tag":41,"props":215,"children":216},{},[217],{"type":27,"value":218},"Fix support form not pre-populating when opened from a direct link",{"type":21,"tag":41,"props":220,"children":221},{},[222],{"type":27,"value":223},"Fix expense data (purchases, per diems, receipts) disappearing after submit, approve, reject, or mark-paid actions",{"type":21,"tag":41,"props":225,"children":226},{},[227],{"type":27,"value":228},"Fix QuickBooks Payment Account selection not persisting after page refresh",{"type":21,"tag":41,"props":230,"children":231},{},[232],{"type":27,"value":233},"Fix \"Sync All\" not updating existing bills in QuickBooks for paid reports",{"type":21,"tag":41,"props":235,"children":236},{},[237],{"type":27,"value":238},"Fix BillPayment amounts not matching bill totals for multi-currency expenses",{"type":21,"tag":41,"props":240,"children":241},{},[242],{"type":27,"value":243},"Fix \"All\" status pill count not matching the number of visible expense rows",{"type":21,"tag":22,"props":245,"children":247},{"id":246},"theming-white-label",[248],{"type":27,"value":249},"Theming \u002F White-Label",{"type":21,"tag":37,"props":251,"children":252},{},[253],{"type":21,"tag":41,"props":254,"children":255},{},[256],{"type":27,"value":257},"Replaced all hardcoded purple\u002Fviolet colors with theme-aware primary colors across Company Card UI elements",{"type":21,"tag":22,"props":259,"children":261},{"id":260},"improvements",[262],{"type":27,"value":263},"Improvements",{"type":21,"tag":37,"props":265,"children":266},{},[267,272],{"type":21,"tag":41,"props":268,"children":269},{},[270],{"type":27,"value":271},"QuickBooks integration now shows official logo in navigation (full color when active, grayscale when inactive)",{"type":21,"tag":41,"props":273,"children":274},{},[275],{"type":27,"value":276},"Fix QuickBooks connect failing in production due to missing environment variable mappings",1790889965238]