POST /admin/import yêu cầu same-origin, authentication và access tới route lấy từ returnTo.Handler kiểm tra bản xem trước thuộc route và tòa nhà khi ghi dữ liệu. Import thông thường gồm hai bước xem trước và xác nhận. Riêng module tài chính, handler tự gọi commitFinancialImportPreview() ngay sau khi kiểm tra file hợp lệ; không chờ thêm thao tác xác nhận trên giao diện.
Import bảng kê có thể ghi dữ liệu ngay khi file hợp lệ. Không áp dụng quy tắc “chọn file rồi chỉ xem trước” của import căn hộ cho màn hình này.
Import cư dân đi qua commitResidentImportToReconciliation() để tạo mục chờ đối soát. Thao tác ghi file chưa tự tạo Residents hoặc ResidentApartmentMemberships.
GET /admin/export nhận path để xác định route và module; moduleKey được lấy từ cấu hình route. Handler yêu cầu route có module, quyền truy cập và allowExport !== false. Xuất người dùng yêu cầu thêm export_users.XLSX branches được tìm thấy cho bill template/list, resident template/list, apartment summary, debt, excess, cashbook và bankbook. Generic modules và một số specialized rows trả CSV.mode=qr trả SVG chứa title và route detail. Không tìm thấy QR encoding workflow. Phân loại: Placeholder.Xem các admin entry points tại Route catalog.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Taho","description":"Tài liệu hành vi hiện tại của hệ thống Taho, được xác minh từ source code.","colors":{"primary":"#8A5A00","light":"#F3BA2F","dark":"#B08020"},"logo":{"light":"https://mintcdn.com/taho-a5b7eb2b/qpXbhngqabQW8FVI/logo/light.svg?fit=max\u0026auto=format\u0026n=qpXbhngqabQW8FVI\u0026q=85\u0026s=9c77740b78f781548956801966e2e927","dark":"https://mintcdn.com/taho-a5b7eb2b/qpXbhngqabQW8FVI/logo/dark.svg?fit=max\u0026auto=format\u0026n=qpXbhngqabQW8FVI\u0026q=85\u0026s=64873ec19459d1629b770ec7d16f99aa","href":"/"},"favicon":"https://mintcdn.com/taho-a5b7eb2b/qpXbhngqabQW8FVI/favicon.svg?fit=max\u0026auto=format\u0026n=qpXbhngqabQW8FVI\u0026q=85\u0026s=9762ba4d8b5241abbb0517f9e2d1d43d","api":{"playground":{"display":"simple"}},"appearance":{"default":"light","strict":true},"navbar":{"links":[{"icon":"globe","href":"https://taho.com.vn/","label":"Trang chủ"},{"icon":"mail","href":"mailto:contact@taho.com.vn","label":"Liên hệ"}]},"footer":{"socials":{"website":"https://taho.com.vn/"},"links":[{"header":"Taho","items":[{"label":"Trang chủ","href":"https://taho.com.vn/"},{"label":"contact@taho.com.vn","href":"mailto:contact@taho.com.vn"}]}]},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","chatgpt","claude","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"taho-a5b7eb2b","hasAudioNarration":false,"actualSubdomain":"taho-a5b7eb2b","customDomains":["docs.taho.com.vn"],"gitSource":{"type":"github","owner":"taho-vn","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ac5fbcf78c1c22ae0f122ec","collectionId":"a5207557-1faf-4071-89fd-270931402be2","liveDeploymentHistoryId":"6ac5fbcf78c1c22ae0f122ec","schemaVersion":"v3"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6adad01462b6f64d97e13178","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Nghiệp vụ","count":20},{"language":"default","tag":"Kỹ thuật","count":11},{"language":"default","tag":"Công nợ và thanh toán","count":10},{"language":"default","tag":"API / Swagger","count":9},{"language":"default","tag":"Tra cứu","count":8},{"language":"default","tag":"Phát triển","count":7},{"language":"default","tag":"Mini App","count":6},{"language":"default","tag":"Danh mục kỹ thuật","count":5},{"language":"default","tag":"Trợ lý AI","count":4},{"language":"default","tag":"Bắt đầu","count":4}],"searchSettings":{"showContentSnippets":true,"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":".taho-home{--taho-ink:#191a1d;--taho-muted:#545861;--taho-line:#e5e5e1;--taho-accent:#f3ba2f;color:var(--taho-ink);max-width:1180px;margin:0 auto;padding:56px 28px 96px}.taho-home *{box-sizing:border-box}.taho-home a:focus-visible{outline:3px solid #8a5a00;outline-offset:3px}.taho-hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:clamp(28px,5vw,70px);align-items:center;padding:clamp(34px,6vw,72px);border:1px solid #e8e4d8;border-radius:24px;background:radial-gradient(circle at 96% 5%,#fff0c6 0,transparent 40%),#faf9f6}.taho-eyebrow{color:#8a5a00;font-size:11px;font-weight:800;letter-spacing:.14em;margin:0 0 18px}.taho-home h1,.taho-home h2,.taho-home h3{color:var(--taho-ink);letter-spacing:-.035em}.taho-home h1{font-size:clamp(40px,5vw,65px);line-height:1.06;margin:0 0 22px;font-weight:760}.taho-home h1 span{background:var(--taho-accent);border-radius:13px;padding:0 .13em;white-space:nowrap}.taho-lead{color:var(--taho-muted);font-size:17px;line-height:1.7;max-width:580px;margin:0 0 32px}.taho-hero-actions{display:flex;flex-wrap:wrap;gap:11px}.taho-button,.taho-hero-map a{align-items:center;text-decoration:none!important}.taho-button{display:inline-flex;justify-content:center;gap:18px;min-height:45px;border-radius:9px;padding:11px 16px;font-size:13px;font-weight:750;transition:transform .18s ease,box-shadow .18s ease}.taho-button:hover{transform:translateY(-2px);box-shadow:0 8px 18px #17171718}.taho-button-primary{background:var(--taho-accent);color:#171717!important}.taho-button-secondary{border:1px solid #cfcfc9;background:#fff;color:var(--taho-ink)!important}.taho-hero-map{background:#1d1f22;color:#fff;border-radius:16px;padding:20px 24px 17px;box-shadow:0 18px 40px #1111111e}.taho-map-label{color:#f3ba2f;font-size:11px;font-weight:800;letter-spacing:.14em;margin:0 0 6px}.taho-hero-map a{display:grid;grid-template-columns:32px 1fr auto;gap:9px;padding:17px 0;border-bottom:1px solid #414247;color:#fff!important;font-size:14px;font-weight:700}.taho-hero-map a:hover{color:#f3ba2f!important}.taho-map-index{color:#f3ba2f;font-size:12px}.taho-hero-map small{display:block;margin-top:3px;color:#bdc0c5;font-size:12px;font-weight:400;line-height:1.45}.taho-map-note{color:#bdc0c5;font-size:11px;margin:14px 0 0}.taho-section{padding-top:84px}.taho-home h2{font-size:clamp(28px,3.1vw,39px);line-height:1.16;margin:0 0 13px}.taho-section-intro{color:var(--taho-muted);margin:0 0 28px}.taho-path-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.taho-path-card{display:flex;flex-direction:column;align-items:flex-start;min-height:228px;gap:13px;padding:24px;border:1px solid var(--taho-line);border-radius:14px;color:var(--taho-muted)!important;text-decoration:none!important;background:#fff;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.taho-path-card:hover{transform:translateY(-3px);border-color:#d4a520;box-shadow:0 12px 30px #17171712}.taho-card-number{color:#8a5a00;font-size:10px;font-weight:800;letter-spacing:.1em}.taho-path-card strong{color:var(--taho-ink);font-size:19px;line-height:1.2;letter-spacing:-.02em}.taho-path-card>span:nth-of-type(2){font-size:13px;line-height:1.6}.taho-card-link{margin-top:auto;color:#72500a;font-size:12px;font-weight:800}.taho-topic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin-top:23px;border-top:1px solid var(--taho-line)}.taho-topic{padding:26px 0 0}.taho-topic h3{font-size:19px;margin:0 0 8px}.taho-topic p{color:var(--taho-muted);font-size:13px;line-height:1.6;min-height:62px;margin:0 0 16px}.taho-topic div{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.taho-topic a{color:#72500a!important;font-size:13px;font-weight:700;text-decoration:none!important}.taho-reference-links a:hover,.taho-topic a:hover{text-decoration:underline!important}.taho-reference{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;padding:36px;margin-top:84px;background:#f6f6f3;border-radius:16px}.taho-reference .taho-eyebrow{margin-bottom:12px}.taho-reference h2{font-size:27px}.taho-reference p:last-child{color:var(--taho-muted);line-height:1.65;font-size:13px;margin:0}.taho-reference-links{display:flex;flex-direction:column;justify-content:center}.taho-reference-links a{padding:13px 0;display:flex;justify-content:space-between;border-bottom:1px solid #d9d9d4;color:var(--taho-ink)!important;font-weight:700;font-size:13px;text-decoration:none!important}@media (max-width:900px){.taho-hero{grid-template-columns:1fr}.taho-path-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.taho-topic-grid{grid-template-columns:1fr;gap:0}.taho-topic p{min-height:0}}@media (max-width:600px){.taho-home{padding:24px 16px 70px}.taho-hero{padding:28px 20px;border-radius:16px}.taho-section{padding-top:60px}.taho-path-grid{grid-template-columns:1fr}.taho-path-card{min-height:170px}.taho-reference{margin-top:60px;padding:24px;grid-template-columns:1fr;gap:16px}}"}],"page":{"pagePath":"engineering/import-export","slug":"/engineering/import-export","pageMetadata":{"title":"Nhập và xuất dữ liệu","description":"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.","keywords":["import","export","XLSX","CSV"],"href":"/engineering/import-export"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Mermaid,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`import`,children:`Import`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`POST /admin/import`}),` yêu cầu same-origin, authentication và access tới route lấy từ `,_jsx(_components.code,{children:`returnTo`}),`.`]}),`\n`,_jsx(Mermaid,{chart:`flowchart TD\n A[Gửi XLSX hoặc CSV] --> B[Đọc file và lưu kết quả kiểm tra]\n B --> C{Dữ liệu hợp lệ?}\n C -->|Không| D[Trả lỗi, chưa ghi dữ liệu nghiệp vụ]\n C -->|Có| E{Module tài chính?}\n E -->|Có| F[Ghi ngay qua workflow tài chính]\n E -->|Không| G[Hiển thị bản xem trước]\n G --> H[Người dùng xác nhận ghi]\n H --> I{Import cư dân?}\n I -->|Có| J[Đưa vào hàng chờ đối soát]\n I -->|Không| K[Ghi dữ liệu qua repository]`}),`\n`,_jsxs(_components.p,{children:[`Handler kiểm tra bản xem trước thuộc route và tòa nhà khi ghi dữ liệu. Import thông thường gồm hai bước xem trước và xác nhận. Riêng module tài chính, handler tự gọi `,_jsx(_components.code,{children:`commitFinancialImportPreview()`}),` ngay sau khi kiểm tra file hợp lệ; không chờ thêm thao tác xác nhận trên giao diện.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Import bảng kê`}),` có thể ghi dữ liệu ngay khi file hợp lệ. Không áp dụng quy tắc “chọn file rồi chỉ xem trước” của import căn hộ cho màn hình này.`]})}),`\n`,_jsxs(_components.p,{children:[`Import cư dân đi qua `,_jsx(_components.code,{children:`commitResidentImportToReconciliation()`}),` để tạo mục chờ đối soát. Thao tác ghi file chưa tự tạo `,_jsx(_components.code,{children:`Residents`}),` hoặc `,_jsx(_components.code,{children:`ResidentApartmentMemberships`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`export`,children:`Export`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`GET /admin/export`}),` nhận `,_jsx(_components.code,{children:`path`}),` để xác định route và module; `,_jsx(_components.code,{children:`moduleKey`}),` được lấy từ cấu hình route. Handler yêu cầu route có module, quyền truy cập và `,_jsx(_components.code,{children:`allowExport !== false`}),`. Xuất người dùng yêu cầu thêm `,_jsx(_components.code,{children:`export_users`}),`.`]}),`\n`,_jsx(_components.p,{children:`XLSX branches được tìm thấy cho bill template/list, resident template/list, apartment summary, debt, excess, cashbook và bankbook. Generic modules và một số specialized rows trả CSV.`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`mode=qr`}),` trả SVG chứa title và route detail. Không tìm thấy QR encoding workflow. Phân loại: `,_jsx(_components.code,{children:`Placeholder`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Xem các admin entry points tại `,_jsx(_components.a,{href:`/reference/route-catalog`,children:`Route catalog`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Nhập và xuất dữ liệu","description":"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.","keywords":["import","export","XLSX","CSV"],"href":"/engineering/import-export"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Import","slug":"import","depth":2,"children":[]},{"title":"Export","slug":"export","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"taho-a5b7eb2b","siteName":"Taho","title":"Nhập và xuất dữ liệu - Taho","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-07T07:59:18.289Z","originalFileLocation":"engineering/import-export.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"light\";if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"light\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Taho\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Nhập và xuất dữ liệu - Taho\">\u003cmeta data-mint-head property=\"og:description\" content=\"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Taho\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.taho.com.vn/engineering/import-export\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://taho-a5b7eb2b.mintlify.app/_mintlify/api/og/v2?division=Ph%C3%A1t+tri%E1%BB%83n\u0026amp;title=Nh%E1%BA%ADp+v%C3%A0+xu%E1%BA%A5t+d%E1%BB%AF+li%E1%BB%87u\u0026amp;description=Lu%E1%BB%93ng+xem+tr%C6%B0%E1%BB%9Bc%2C+ghi+d%E1%BB%AF+li%E1%BB%87u%2C+import+t%C3%A0i+ch%C3%ADnh+v%C3%A0+xu%E1%BA%A5t+file+theo+ph%E1%BA%A1m+vi+t%C3%B2a+nh%C3%A0.\u0026amp;theme=b39568b17f0020cbd4c9afa8\u0026amp;signature=eed947f06d4b78f239b2eaae0076117558dc3714b7fe0606e06ca5700ac4352d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Nhập và xuất dữ liệu - Taho\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://taho-a5b7eb2b.mintlify.app/_mintlify/api/og/v2?division=Ph%C3%A1t+tri%E1%BB%83n\u0026amp;title=Nh%E1%BA%ADp+v%C3%A0+xu%E1%BA%A5t+d%E1%BB%AF+li%E1%BB%87u\u0026amp;description=Lu%E1%BB%93ng+xem+tr%C6%B0%E1%BB%9Bc%2C+ghi+d%E1%BB%AF+li%E1%BB%87u%2C+import+t%C3%A0i+ch%C3%ADnh+v%C3%A0+xu%E1%BA%A5t+file+theo+ph%E1%BA%A1m+vi+t%C3%B2a+nh%C3%A0.\u0026amp;theme=b39568b17f0020cbd4c9afa8\u0026amp;signature=eed947f06d4b78f239b2eaae0076117558dc3714b7fe0606e06ca5700ac4352d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/taho-a5b7eb2b/FZaR2m99oriv2xkR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Taho\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#8A5A00\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.taho.com.vn/engineering/import-export\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/engineering/import-export.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.taho.com.vn/#organization\",\"name\":\"Taho\",\"url\":\"https://docs.taho.com.vn\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/taho-a5b7eb2b/qpXbhngqabQW8FVI/logo/light.svg?fit=max\u0026auto=format\u0026n=qpXbhngqabQW8FVI\u0026q=85\u0026s=9c77740b78f781548956801966e2e927\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.taho.com.vn#website\",\"name\":\"Taho\",\"url\":\"https://docs.taho.com.vn\",\"publisher\":{\"@id\":\"https://docs.taho.com.vn/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.taho.com.vn/engineering/import-export#webpage\",\"url\":\"https://docs.taho.com.vn/engineering/import-export\",\"name\":\"Nhập và xuất dữ liệu\",\"description\":\"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.\",\"dateModified\":\"2026-10-07T07:59:18.289Z\",\"isPartOf\":{\"@id\":\"https://docs.taho.com.vn#website\"},\"breadcrumb\":{\"@id\":\"https://docs.taho.com.vn/engineering/import-export#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.taho.com.vn/engineering/import-export#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Phát triển\",\"item\":\"https://docs.taho.com.vn/engineering/local-development\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nhập và xuất dữ liệu\",\"item\":\"https://docs.taho.com.vn/engineering/import-export\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.taho.com.vn/engineering/import-export#article\",\"headline\":\"Nhập và xuất dữ liệu\",\"name\":\"Nhập và xuất dữ liệu\",\"description\":\"Luồng xem trước, ghi dữ liệu, import tài chính và xuất file theo phạm vi tòa nhà.\",\"url\":\"https://docs.taho.com.vn/engineering/import-export\",\"mainEntityOfPage\":{\"@id\":\"https://docs.taho.com.vn/engineering/import-export#webpage\"},\"dateModified\":\"2026-10-07T07:59:18.289Z\",\"keywords\":\"import, export, XLSX, CSV\",\"publisher\":{\"@id\":\"https://docs.taho.com.vn/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.taho.com.vn#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Taho\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Taho","nav":{"global":null,"tabs":[{"tab":"Bắt đầu","pages":[{"title":"Bắt đầu","href":""}]},{"tab":"Nghiệp vụ","pages":[{"title":"Nghiệp vụ","href":"/operations/apartments-residents"}]},{"tab":"AI","pages":[{"title":"AI","href":"/ai"}]},{"tab":"Mini App","pages":[{"title":"Mini App","href":"/mini-app"}]},{"tab":"API / Swagger","pages":[{"title":"API / Swagger","href":"/api-reference"}]},{"tab":"Kỹ thuật","pages":[{"group":"Hiểu hệ thống","pages":[{"title":"Mô hình nghiệp vụ","href":"/product-specs/domain-model"},{"title":"Phân quyền và phạm vi tòa nhà","href":"/product-specs/permissions-matrix"},{"title":"Kiến trúc thực thi","href":"/engineering/architecture"}]},{"group":"Phát triển","pages":[{"title":"Chạy application local","href":"/engineering/local-development"},{"title":"Cấu hình môi trường","href":"/engineering/environment-setup"},{"title":"Database","href":"/engineering/database"},{"title":"Route handlers","description":"Server handler patterns, guards và response boundaries hiện tại.","href":"/engineering/route-handlers"},{"title":"Nhập và xuất dữ liệu","href":"/engineering/import-export"},{"title":"Integrations","description":"External systems và integration boundaries được source sử dụng.","href":"/engineering/integrations"},{"title":"Kiểm thử","href":"/engineering/testing"}]},{"group":"Vận hành","pages":[{"title":"Deployment","href":"/engineering/deployment"}]}]},{"tab":"Tra cứu","pages":[{"title":"Tra cứu","href":"/reference/route-catalog"}]}]},"basePath":"","title":"Nhập và xuất dữ liệu - Taho","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":[],"chunks":[]}