AFoCO
AFoCO Project & Local Office Management System
Lao PDR pilot · Progress review · 21 October 2026라오스 사무소 파일럿 · 진행 점검 · 2026-10-21

1Components구성

Part부분Google toolGoogle 도구Does하는 일
Screens and approvals화면·결재AppSheet (Core edition, included in our plan)AppSheet (Core, 현재 요금제에 포함)forms, approval inbox, emails, approval PDFs신청서, 결재함, 알림 메일, 승인 PDF
Data데이터Google Sheets: one file, one tab per tableGoogle Sheets: 파일 하나, 표마다 탭 하나every record; readable and exportable without the app모든 기록, 앱 없이도 열람·내보내기 가능
Background jobs자동 작업Apps Script (a few small scripts under admin@)Apps Script (admin@ 소유의 작은 스크립트 몇 개)document numbers, nightly backup and checks문서번호, 야간 백업·점검
Files파일Shared drives공유 드라이브project files, approval PDFs, archive사업 파일, 승인 PDF, 보관소
Accounts, mail, groups계정·메일·그룹Google Workspace Business StandardGoogle Workspace Business Standardsign-in, aliases, groups, 2-step verification로그인, 별칭, 그룹, 2단계 인증

2Progress against requirements필요사항 대비 진행 현황

runs in the test version시험판에서 작동 structure agreed, partly built구조 확정, 일부 구현 needs your answer본부 답변 필요
You asked for필요사항Status상태What works in the test version시험판에서 되는 것Still open남은 것
Leave management휴가 관리Working작동 Leave by day, half day or hours; weekends and office holidays not counted. Balance: entitlement, carry-forward, used, in approval, remaining. Team leave view for managers.일·반일·시간 단위 휴가. 주말과 사무소 공휴일은 빼고 계산. 잔여: 부여·이월·사용·결재 중·잔여. 매니저용 팀 휴가 보기. Leave rules: carry-over limit, extra days for service, office hours휴가 규정: 이월 상한, 근속 가산, 근무 시간
Request and document approvals, with urgency and deadline요청·문서 결재, 긴급·기한Working작동 Six request types, one approval flow. Urgent first; deadlines show "Due in n days" or "Overdue". Return, reject, recall, withdraw, cancel. Up to three approvers in turn. Ref. No. and approval PDF.신청 유형 6개를 한 결재 흐름으로. 긴급 건은 맨 위, 기한은 "n일 남음"·"기한 지남"으로 표시. 반송·반려·회수·철회·취소. 결재자 최대 3명 순차. 문서번호와 승인 PDF. None없음
Basic financial management기초 재무Working작동 Payment or purchase, cash advance, expense claim (settles trips and advances). Payment confirmed by someone other than the requester and approver. Budget lines: approved, paid, in approval, remaining.지급·구매, 선급금, 경비 청구(출장·선급금 정산). 지급 확인은 신청자·결재자가 아닌 사람이. 예산 항목별 승인·지급·결재 중·잔액. Budget structure예산 구조
Asset management자산 관리Working작동 Register with specifications, purchase details, budget line, licence expiry. Assign, return, move, repair, dispose; current holder always shown.사양·구매 정보·예산 항목·라이선스 만료일 대장. 배정·반납·이동·수리·폐기 기록, 현재 사용자 표시. Link from an approved purchase to the register승인된 구매에서 자산 등록으로 연결
Local staff attendance tracking현지 직원 근태Working작동
To decide결정 필요
Monthly view built from approved leave and travel, by person. Nothing to submit.승인된 휴가·출장으로 월별·사람별 근태가 자동 생성. 따로 제출할 것 없음. Is a daily check-in record needed?매일 출퇴근 기록이 필요한지
Email setup이메일 설정Tested시험 완료 Sign in with the main account; alias mail arrives in the same inbox; send as the alias. When an account is renamed, the old address becomes an alias automatically (Google standard). SPF, DKIM and DMARC pass.주 계정으로 로그인, 별칭으로 온 메일이 같은 받은편지함에 도착, 별칭으로 발신. 계정 이름을 바꾸면 옛 주소는 자동으로 별칭이 됨(Google 기본 동작). SPF·DKIM·DMARC 통과. None없음
Records kept, including changes변경 이력 포함 기록 보존Working작동
To decide결정 필요
Every action logged with person, seat and time. Edits to requests and setup logged with before and after values. Approval PDFs locked. Nightly backup of all data.모든 처리를 사람·자리·시각과 함께 기록. 신청과 설정 수정은 변경 전후 값으로 기록. 승인 PDF 잠금. 매일 밤 전체 백업. Retention period; who may delete; a restore rehearsal보존 기간, 삭제 권한자, 복구 리허설
Folder permissions; common folders and file names폴더 권한, 공통 폴더·파일명Tested시험 완료
Designed설계
Tested 19 Oct: project folders closed by default; one folder can be opened to another division; view, comment, edit or manage; restricted finance folder.10-19 시험: 사업 폴더 기본 비공개, 다른 부서에 폴더 하나만 공개, 보기·댓글·편집·관리 수준, 재무 폴더 제한. Folder example: section 3폴더 예시는 3절
Compatibility with IDCIDC 호환Designed설계 Office codes ISO2 (ISO3 for joining); project codes stored as issued; optional "related project" on requests (44 public projects loaded).사무소 코드 ISO2(연결용 ISO3), 사업 코드는 원문 그대로 저장, 신청서에 "관련 사업" 선택(공개 사업 44건). Who keeps the master project list사업 목록 정본 관리자

3System structure시스템 구조

PERSON사람 Mary Major one account to sign in계정 하나로 로그인 signs in로그인 ACCOUNT계정 …@afocoproject.org GROUP그룹 grp.laos@ access rights live here접근 권한은 여기에 opens접근 PROJECT SHARED DRIVE · example사업 공유 드라이브 · 예시 Forest Restoration Project산림 복원 사업 closed by default기본 비공개 OFFICE SYSTEM APP업무 앱 AppSheet knows seat and person자리와 사람을 식별 DATA데이터 Google Sheet owner: admin@소유: admin@ NIGHTLY BACKUP야간 백업 Apps Script to SYS_ArchiveSYS_Archive 보관 GMAIL INBOXGmail 받은편지함 mail to the account계정·별칭으로 온 and its aliases arrives here메일이 여기로 copies전달 OFFICE CONTACT ADDRESS · proposed사무소 대표 주소 · 제안 laos@ a group: every office member receives그룹: 사무소 전원이 받음

Project folders: an example from the regional office (for reference)사업 폴더 예시 (ROM 사례, 참고용)

00_Project-Docs-MOU00_사업문서,MOU
├─ MOU_signed_2024-03-15.pdf
├─ Project-document_v2.docx
└─ Amendments
├─ MOU_서명본_2024-03-15.pdf
├─ 사업문서_v2.docx
└─ 변경협약
01_Budget-Transfers01_예산,송금
├─ 2025
│  └─ Transfer-01_2025-02-10.pdf
└─ 2026
   └─ Budget-plan_2026.xlsx
├─ 2025
│  └─ 송금-01_2025-02-10.pdf
└─ 2026
   └─ 예산계획_2026.xlsx
02_Finance-Accounting02_재무,회계
├─ 2025
│  └─ Expense-report_Q4.xlsx
└─ 2026
   └─ Receipts_2026-09
├─ 2025
│  └─ 지출보고_4분기.xlsx
└─ 2026
   └─ 영수증_2026-09
03_Reports03_보고서
├─ 2025
│  └─ Annual-report_2025_final.pdf
└─ 2026
   └─ Progress-report_H1.docx
├─ 2025
│  └─ 연간보고서_2025_최종.pdf
└─ 2026
   └─ 반기보고서_상반기.docx
04_Photos-Video-PR04_사진영상홍보
└─ 2026
   ├─ 2026-05_tree-planting
   └─ 2026-08_workshop
└─ 2026
   ├─ 2026-05_식재행사
   └─ 2026-08_워크숍
99_Reference99_참고자료
├─ Guidelines
└─ Templates
├─ 지침
└─ 서식

Drive permissions: what is possible드라이브 권한: 가능한 것

Tested on 19 and 20 Oct with test drives, test groups and an outside Gmail account.10-19·10-20 시험 드라이브·시험 그룹·외부 Gmail 계정으로 시험.

Can할 수 있는 일Viewer뷰어Commenter댓글 작성자Contributor참여자Content manager콘텐츠 관리자Manager*관리자*
Open and download열기·다운로드✓✓✓✓✓
Comment댓글–✓✓✓✓
Add and edit files파일 추가·수정––✓✓✓
Move and delete files파일 이동·삭제–––✓✓
Share a single file파일 하나 공유––✓✓✓
Share a folder폴더 공유–––✓✓
Members and drive settings구성원·드라이브 설정––––✓

* Manager is given for a whole drive only. For one folder the highest level is Content manager.* 관리자는 드라이브 전체 단위로만 줄 수 있음. 폴더 하나엔 콘텐츠 관리자가 최고 수준.

Possible가능

  • Give access by account, by group, or to people outside (afocosec.org, Gmail).
  • Keep each project drive closed by default, and open one folder to another division.
  • Close a folder (e.g. finance) even to drive members.
  • Give a viewer an end date; turn off download, print and copy for viewers.
  • 계정·그룹·외부인(afocosec.org, Gmail) 모두에게 권한 부여.
  • 사업 드라이브 기본 비공개, 다른 부서엔 폴더 하나만 공개.
  • 재무 같은 폴더는 드라이브 구성원에게도 닫기(제한 폴더).
  • 뷰어에게 만료일 지정, 뷰어의 다운로드·인쇄·복사 끄기.

With conditions조건부

  • Once a folder can be opened to non-members, contributors can also share single files outside. Our plan cannot separate the two, so we rely on a rule and the activity log.
  • The share box starts at "Content manager"; choose the level each time.
  • 폴더를 비구성원에게 열 수 있게 하면, 참여자가 파일 하나를 밖에 공유하는 길도 함께 열림. 현재 요금제로는 둘을 나눌 수 없어 규칙과 활동 기록으로 관리.
  • 공유 창의 기본 역할이 "콘텐츠 관리자"라 매번 수준을 골라야 함.

Not possible불가

  • "Manager" on a single folder.
  • Hiding a closed folder's name from drive members.
  • Blocking only file-level sharing to outsiders (needs a higher plan).
  • 폴더 하나에 "관리자" 권한.
  • 제한 폴더의 이름까지 숨기기.
  • 파일 단위 외부 공유만 따로 막기(상위 요금제 기능).

4Administrator's work: staff changes관리자 업무: 직원 변동

Situation상황① Admin console: account① 관리 콘솔: 계정② Groups: access② 그룹: 권한③ App: access and person③ 앱: 접근과 사람
New staff member새 직원Add a user.사용자 추가.Add to the office groups (grp.laos@, laos@).사무소 그룹에 추가 (grp.laos@, laos@).Share the app with the account. Then Menu › Add staff member: person, seat and approval rights, contract and leave.앱을 그 계정에 공유. 이어서 메뉴 › Add staff member: 사람, 자리와 결재 권한, 계약과 휴가.
Replacement교체A (desk account): move the alias to the new person. B (personal account): rename the account to the new person; the old address stays as an alias.A(자리 계정): 별칭을 새 사람으로. B(사람 이름 계정): 계정 이름을 새 사람으로 변경, 옛 주소는 별칭으로 남음.Nothing없음Add staff member for the new person (A: on the existing seat, tick "account reset done"; B: share the app with the new address and move the seat's rights to it).새 사람으로 Add staff member (A: 기존 자리, "계정 초기화 완료" 체크. B: 새 주소에 앱 공유, 자리 권한을 새 주소로 옮김).
Intern rotation (shared seat)인턴 교대 (공용 자리)Reset the shared seat's password; add the new intern's alias, remove the old one.공용 자리 비밀번호 초기화, 새 인턴 별칭 추가·이전 인턴 별칭 삭제.Nothing없음Add the intern as a person on the shared seat; each intern picks their own name in Settings.공용 자리에 인턴을 사람으로 추가, 인턴은 설정에서 자기 이름을 고름.
New approver or new office결재자 추가, 새 사무소Add the approver's account, or the office's accounts.결재자 계정 또는 사무소 계정 추가.Create the office groups.사무소 그룹 생성.Share the app. Setup screens: office, routes, approval rights, budget lines, holidays.앱 공유. 설정 화면: 사무소·경로·결재 권한·예산 항목·공휴일.

5Who approves what결재와 열람

Request type신청 유형Used for용도Approved by (now)결재 (현 설정)Can be changed to변경 가능Payment confirmation지급 확인
Leave휴가day off, sick leave, absence연차·병가·결근 Country Manager국가 매니저HQ본부No없음
Travel request출장work trip (costs claimed afterwards)업무 출장 (비용은 사후 청구) Country Manager국가 매니저HQ본부No없음
Request or document approval요청·문서 결재decision, memo, plan, report결정·메모·계획·보고서 Country Manager국가 매니저HQ본부No없음
Payment or purchase지급·구매pay a supplier, buy something공급자 지급, 물품 구매 HQ본부Country Manager국가 매니저Yes있음
Cash advance선급금cash before an activity활동 전 현금 HQ본부Country Manager국가 매니저Yes있음
Expense claim경비 청구refund; settle a trip or an advance환급, 출장·선급금 정산 HQ본부Country Manager국가 매니저Yes있음
Attendance근태No approval. Built from approved leave and travel.결재 없음. 승인된 휴가·출장으로 생성.

Who can see what열람 범위

  • Staff: their own requests. Personal requests (leave, travel, advances, claims) stay with the person, even after a seat handover.
  • Country Manager: requests and team leave of their office.
  • HQ approvers: all offices.
  • Office finance seat: money requests and travel of their office.
  • Administrator: everything, plus setup and the change log.
  • 직원: 본인 신청. 개인 신청(휴가·출장·선급금·청구)은 자리를 인계한 뒤에도 그 사람에게만 보임.
  • 국가 매니저: 소속 사무소의 신청과 팀 휴가.
  • 본부 결재자: 전 사무소.
  • 사무소 지급 담당: 소속 사무소의 돈 관련 신청과 출장.
  • 관리자: 전체와 설정, 변경 기록.

Setting the approvers결재자 지정

  • The administrator chooses the approvers for each request type and office, on the setup screens. Every change is logged.
  • Today each type has one named approver. It can instead go to everyone who holds approval rights for that type; the first to act decides.
  • HQ is shown as one unit. It can be split by division, so that different divisions approve different types.
  • 결재자는 관리자가 정합니다. 신청 유형·사무소별로 설정 화면에서 지정하고, 바꾸면 기록됩니다.
  • 지금은 유형마다 결재자 한 명을 지정해 두었습니다. 그 유형의 결재 권한이 있는 사람 누구나 결재하도록 바꿀 수도 있으며, 이때는 먼저 처리한 사람의 결정이 유효합니다.
  • 본부는 하나로 적었지만, 부서별로 나눠 유형마다 다른 부서가 결재하도록 설정할 수 있습니다.

6Records kept for each request신청 한 건의 기록과 보존

The system keeps its own records rather than relying on AppSheet's built-in log, which keeps changes for only seven days on our plan.현재 요금제에서 7일만 보관되는 AppSheet 자체 기록 대신, 시스템이 직접 기록을 남깁니다.

Submitted상신

  • Who: person and seat
  • When: server time, shown in office time
  • Urgency, deadline, files and Drive links
  • 누가: 사람과 자리
  • 언제: 서버 시각, 사무소 시각으로 표시
  • 긴급·기한·파일·드라이브 링크

Each decision결재마다

  • Who, with title and office
  • The rule that allowed them to approve
  • Comment
  • Return, reject, recall and withdraw are recorded the same way
  • 누가: 직함·사무소 포함
  • 결재 근거가 된 권한 규칙
  • 의견
  • 반송·반려·회수·철회도 같은 방식으로 기록

Approved승인

  • Ref. No. issued by the server, never reused (e.g. LA-2026-0001)
  • Values frozen: days, amount, USD, leave balance before, budget left after
  • Approval PDF, locked read-only
  • 서버가 문서번호 발급, 재사용 없음 (예: LA-2026-0001)
  • 승인 시점 값 고정: 일수·금액·USD·승인 전 잔여 휴가·승인 후 예산 잔액
  • 승인 PDF, 읽기 전용 잠금

Paid지급

  • Who confirmed
  • Payment date and reference
  • Amount booked in USD
  • 확인한 사람
  • 지급일과 참조번호
  • 확정 USD 금액

Afterwards이후

  • An edit to an approved request is flagged "Changed after approval", with before and after values
  • Cancelling needs the approver's confirmation
  • 승인된 신청을 고치면 "승인 후 변경" 표시와 변경 전후 값이 남음
  • 취소는 결재자 확인이 필요

Kept, and for how long보존 범위와 기간

Data sheet데이터 시트Everything, until an authorised person deletes it. Who that is: to decide.권한자가 지울 때까지 전부. 삭제 권한자는 결정 필요.
Nightly backup야간 백업
02:00–03:00 Hanoi하노이 02~03시
All tables in one zip, with a file list linked to the previous night. Daily copies kept 30 days, Sunday copies 12 weeks, first of the month one year, 1 January indefinitely.전체 표를 zip 하나로, 전날 목록과 연결된 파일 목록 포함. 일일본 30일, 일요일본 12주, 매월 1일본 1년, 1월 1일본 무기한.
PDFs and attachmentsPDF·첨부One locked copy of each in the archive, never pruned.보관소에 잠긴 사본 1부씩, 삭제하지 않음.
Setup changes설정 변경Approvers, seats, budget lines, leave balances and request types: logged with before and after values.결재자·자리·예산 항목·휴가 잔여·신청 유형 변경을 전후 값으로 기록.
Nightly check야간 점검Lists anything that should not happen: a number used twice, an approval without a PDF, an approval by someone not authorised, the same person requesting and approving, a PDF or backup changed afterwards.있어서는 안 되는 것을 목록으로: 번호 중복, PDF 없는 승인, 권한 없는 승인, 신청자와 결재자가 같은 경우, 사후에 바뀐 PDF·백업.

When the system itself changes시스템 자체를 바꿀 때

  • Settings any time. Approvers, offices, budget lines and holidays are edited on screen by the administrator. Changes to approvers, seats and budget lines are logged.
  • Structure on a set day. New fields or request types are collected, built in a separate copy of the app, tested, and released together (for example once a month).
  • Fields are only added. Never renamed or deleted, so old records stay readable.
  • A copy of the data is taken before every release.
  • Before go-live: one full release rehearsal and one restore rehearsal.
  • Who can change it: someone who can use the AppSheet editor (no programming). A data dictionary, a log of structure changes and a re-test list let a new person pick it up.
  • 설정은 언제든. 결재자·사무소·예산 항목·공휴일은 관리자가 화면에서 수정. 결재자·자리·예산 항목 변경은 기록됨.
  • 구조는 정한 날에. 새 입력 항목이나 신청 유형은 모아서 앱 사본에서 만들고 시험한 뒤 한 번에 반영 (예: 월 1회).
  • 항목은 추가만. 이름을 바꾸거나 지우지 않아 과거 기록을 계속 읽을 수 있음.
  • 반영할 때마다 먼저 데이터 사본 생성.
  • 운영 전: 반영 리허설 1회, 복구 리허설 1회.
  • 누가 바꾸나: AppSheet 편집기를 다룰 사람(코딩 없음). 데이터 사전·구조 변경 기록·재시험 목록으로 새 담당자가 이어받음.

7Capabilities and limits가능한 것과 한계

Can가능

  • Requests and approvals for small officeswith full history, Ref. No. and approval PDFs.
  • Records kept until deliberately deletedthrough our own history, change log, nightly backup and locked PDFs.
  • Staff changes without losing mail or recordsthrough accounts, aliases and groups.
  • A new office without changing the appby adding rows in the setup screens.
  • Folder access by groupat view, comment, edit or manage level.
  • Phone and computerwith the same app and the same sign-in.
  • 소규모 사무소의 신청·결재전체 이력, 문서번호, 승인 PDF.
  • 의도적으로 지울 때까지 기록 보존자체 이력, 변경 기록, 야간 백업, PDF 잠금.
  • 직원이 바뀌어도 메일·기록 유지계정, 별칭, 그룹.
  • 앱 수정 없이 사무소 추가설정 화면에 행만 추가.
  • 그룹 단위 폴더 권한보기·댓글·편집·관리 수준.
  • 휴대폰과 컴퓨터같은 앱, 같은 로그인.

Can, with conditions조건부 가능

  • App emails reach afocoproject.org onlyso HQ approvers need an account here.
  • The app can change while in usebut changes to its structure follow the release routine in section 6.
  • Comfortable for a handful of officesand if volume grows a lot, the data can move from a Sheet to a database.
  • 앱 메일은 afocoproject.org로만본부 결재자도 이 도메인 계정이 필요.
  • 사용 중에도 앱 수정 가능단, 구조 변경은 6절의 반영 절차를 따름.
  • 사무소 몇 곳 규모엔 충분규모가 크게 늘면 데이터를 시트에서 데이터베이스로 옮길 수 있음.

Cannot불가

  • A fixed version for users while the next is builtThat is an Enterprise Plus feature. We build in a separate copy instead.
  • Database guaranteesNo transactions or enforced links; if two people save the same row at once, the later save wins. Kept small by one rule: nobody edits the data sheet directly.
  • Certificate-based e-signatureAn approval in the app is a recorded approval; its weight comes from our internal rules.
  • 사용자용 고정 버전과 개발 버전 분리Enterprise Plus 기능. 대신 별도 사본에서 개발.
  • 데이터베이스 수준 보장트랜잭션·참조 무결성 없음. 같은 행을 동시에 저장하면 나중 저장이 남음. "데이터 시트 직접 수정 금지" 규칙으로 보완.
  • 인증서 기반 전자서명앱 승인은 기록된 승인이며, 효력은 내부 규정에 따름.

8Decisions needed결정 필요

Question질문Decision결정
D1How should accounts be named: A by desk, with the person's name as an alias, or B by person, renamed at a handover? (see below)계정 이름을 어떻게 짓나: A 자리 이름 + 사람 이름 별칭, B 사람 이름, 교체 때 이름 변경? (아래 비교)
D2Does HQ need to be divided (for example by division), and should approval rights be split to match?본부 부서 등 구분이 필요한지, 그에 따라 결재 권한도 세부 구분해야 하는지?
D3Who approves office leave, travel and general requests: the Country Manager or HQ?사무소 휴가·출장·일반 요청의 결재자: 국가 매니저인가, 본부인가?
D4When should actual use begin?실사용 시작일은 언제로 할까요?

D1: how accounts are namedD1: 계정 이름 규칙

A. Desk account, person's name as an alias (test version)A. 자리 계정 + 사람 이름 별칭 (시험판 방식)B. Personal account, renamed at a handoverB. 사람 이름 계정, 교체 때 이름 변경
Example예laos.finance@ with the alias mary.major@laos.finance@ + 별칭 mary.major@mary.major@mary.major@
At a replacement교체 때Move the alias to the new person; the account stays.별칭만 새 사람으로, 계정은 그대로.Rename the account to the new person; the old address stays as an alias automatically.계정 이름을 새 사람으로 변경, 옛 주소는 자동으로 별칭.
Mail, Drive, groups메일·드라이브·그룹Stay with the desk account.자리 계정에 남음.Stay with the account; they move with the rename.계정에 남아 이름 변경과 함께 이동.
The app앱Nothing to change: the desk keeps its rights.바꿀 것 없음: 자리가 권한을 유지.Share the app with the new address and move the desk's rights to it in setup; earlier requests stay under the old address.새 주소에 앱 공유, 설정에서 자리 권한을 새 주소로 옮김. 이전 신청은 옛 주소로 남음.
Outside contacts외부 연락처Write to a stable desk address or the person's alias.고정된 자리 주소나 사람 별칭으로.Write to the person; the address changes with the person (the old one still delivers).사람 주소로. 사람이 바뀌면 주소도 바뀜 (옛 주소로도 계속 도착).
Limits제약One extra step (alias) at each change; aliases are free.변동 때마다 별칭 작업 한 번, 별칭은 무료.Each rename leaves an alias (up to 30 per account); an old address can be given to someone else only after its alias is removed.이름을 바꿀 때마다 별칭이 하나씩 쌓임 (계정당 30개까지), 옛 주소를 다른 사람에게 주려면 별칭부터 삭제.

Either way: office contact group laos@ (letters, website), member group grp.laos@ (drive access), interns share laos.intern@ with their own aliases.어느 쪽이든: 사무소 대표 그룹 laos@ (공문·웹사이트), 구성원 그룹 grp.laos@ (드라이브 권한), 인턴은 laos.intern@을 함께 쓰고 각자 별칭.