S
SocietyOS Architecture & Accounting Blueprint
Drag to Pan • Scroll to Zoom • ← → Switch • F Fullscreen • N Notes
Indian Co-operative Housing Society Management PlatformSociety Management System - System Architecture & Component BoundariesFrontend Presentation Layer (React / Next.js SPA & PWA)API Gateway & Security LayerCore Backend Application Services (Modular Node.js / Laravel)Data Persistence & Cache LayerExternal Third-Party IntegrationsAdmin Dashboard(Web)Accountant Portal(Ledger, Vouchers & Reports)Security Guard Console(Tablet / PWA)Resident Mobile / Web Portal(Invoices, Passes & Dues)API Gateway / Reverse Proxy(REST API Endpoints)Auth & RBAC Middleware(JWT / Session, Tenant Context)Society & Structure Service- Societies, Wings, Floors, Flats- Members, Residents & OccupancyBilling & Invoicing Service- Charge Masters (Per-sqft, Flat, Metered)- Batch Invoice Generator- Late Fee & Interest CalculatorPayment & Receipt Service- Payment Capture (UPI/Cheque/Bank)- FIFO Multi-Bill Allocation Engine- Receipt Voucher GenerationDouble-Entry Accounting Engine- 4-Tier COA Management- Balanced Journal Posting (Dr = Cr)- General Ledger & Vouchers (JV/RV/PV)Financial Reporting Engine- Trial Balance (Real-time Dr=Cr)- Income & Expenditure Account- Balance Sheet & Member Ledger- Bank Reconciliation (BRS)Visitor Management Service- QR Visitor Passes & Gate Check-in- Resident Approval Notifications- Overstay & Exit TrackingVehicle & Parking Service- Resident / Visitor Vehicle Registry- Slot Allocation & Conflict DetectionAudit & Security Service- Immutable Action Audit Trail- Role & Policy EnforcementPrimary Database(PostgreSQL / MongoDB Replica Set)- Strict Multi-Tenancy ('society_id')- ACID Multi-Entity TransactionsIn-Memory Cache & Message Queue(Redis)- Queued Billing Runs- Push Notification Dispatch- Session TokensObject Storage (AWS S3 / MinIO)- Invoice & Receipt PDFs- Visitor Photos & DocumentsPayment Gateway(Razorpay / Cashfree)- Webhook callbacksNotification Gateway(FCM, SMS & WhatsApp)- Visitor alerts & payment receiptsSociety Admin / SecretarySociety AccountantSecurity GuardResident / Flat OwnerArchitecture Grounding:- Repo A implements balanced JournalEntry + JournalLine.- Target system adds automatic event-driven link:Billing/Payment -> Accounting posting (missing in Repo A).- Enforces 4-tier Chart of Accounts (Category -> Group -> Subgroup -> Ledger).Manages setup, billing, staffReviews COA, vouchers, BRSLogs visitor & vehicle entry/exitViews bills, makes payments, approves visitorsHTTPS / JSONHTTPS / JSONHTTPS / JSONHTTPS / JSONEnforces 'society_id' isolation & role permissionsAuto-posts Sales Journal Vouchers (Dr AR, Cr Income)Auto-posts Receipt Vouchers (Dr Bank, Cr AR / Advance)Updates Invoice status (PAID / PARTIAL)Queries posted journal lines & balancesValidates host flat & resident statusLinks vehicles to allocated flat slotsLogs billing runsLogs voucher creations & reversalsRead / Write under Tenant ScopeDispatches async invoice batchesVerifies digital paymentsSends resident approval alertsStores signed PDF receiptsArchives monthly bill PDFsArchitecture Blueprint | Target System Design (Based on AUDIT-BLUEPRINT)
Indian Co-operative Housing Society Management PlatformSociety Management System - End-to-End Business & Accounting WorkflowThis syntax is deprecated and the color is ignored: write ':Raise Accounting ValidationError; <<#FFCDD2>>' instead of '#FFCDD2:Raise Accounting ValidationError;'This syntax is deprecated and the color is ignored: write ':Record Payment Failure / Cheque Bounce; <<#FFCDD2>>' instead of '#FFCDD2:Record Payment Failure / Cheque Bounce;'This syntax is deprecated and the color is ignored: write ':Confirm Arithmetic Integrity; <<#C8E6C9>>' instead of '#C8E6C9:Confirm Arithmetic Integrity;'This syntax is deprecated and the color is ignored: write ':Flag Critical Imbalance Warning for Accountant Review; <<#FFCDD2>>' instead of '#FFCDD2:Flag Critical Imbalance Warning for Accountant Review;'1. Foundation & Master Data SetupConfigure Society Profile (Name, Reg. No, Address, Bank Accounts)Open Active Financial Year (e.g., 01-Apr to 31-Mar)Create Structure Hierarchy (Wings/Towers -> Floors -> Flats/Units)Record Flat Attributes (Carpet Area sq.ft, Built-up Area, Unit Type)Register Members & Residents (Owner, Tenant, Occupancy Dates)4-Tier Hierarchy (Target Model):- Account Category (Asset, Liability, Income, Expense)- Account Group (e.g., Current Assets, Member Dues)- Account Subgroup (e.g., Sundry Debtors - Maintenance)- Ledger Account (e.g., Flat 101 Receivable, Bank A/c)*(Resolves flat 2-level limitation found in Repo A)*Configure 4-Tier Chart of AccountsCharge Master supports:- Per Sq. Ft Rate (Area * Rate)- Fixed Rate per Flat- Per Vehicle Charge- Sinking / Repair Fund FormulasConfigure Billing Charge Items & Formulas2. Maintenance Billing Run & InvoicingInitiate Periodic Billing Run (Monthly / Quarterly)Calculate Charges per Flat based on Active RulesGenerate Member Invoices (Unique Invoice Numbers)Prepare Double-Entry Sales Journal Voucher (JV)Validate Accounting Invariants:Sum(Debits) == Sum(Credits) AND Sum(Debits) > 0Accounting Invariant Valid?yesnoSales JV:- Debit: Accounts Receivable (Member Dues)- Credit: Maintenance Income LedgersCommit Invoice & Post Journal Entry AtomicallyNotify Residents (Email, Push, SMS) with PDF InvoicesRaise Accounting ValidationErrorAbort Billing Run & Rollback Database Writes3. Member Payment Collection & ReceiptingResident Submits Payment (UPI, Cheque, NEFT/RTGS, Cash)Payment Verification / Gateway Status?Success / Cheque RealizedFailed / BouncedInspect Member Outstanding InvoicesExact Full PaymentPayment Amount vs Total Dues?Allocate Payment to InvoiceMark Invoice Status as PAIDPost Receipt Voucher (RV):- Debit: Bank Account- Credit: Accounts Receivable (Member Dues)Partial PaymentPartial PaymentExcess / Advance PaymentApply FIFO Allocation across Oldest InvoicesMark Partially Paid Invoices with Remaining BalancePost Receipt Voucher (RV):- Debit: Bank Account- Credit: Accounts Receivable (Member Dues)Allocate to All Outstanding Invoices (Mark PAID)Credit Excess Balance to Member Advance LiabilityPost Receipt Voucher (RV):- Debit: Bank Account- Credit: Accounts Receivable (Cleared Dues)- Credit: Member Advance Maintenance (Liability)Generate Printable Payment Receipt (PDF)Issue Receipt to ResidentRecord Payment Failure / Cheque BounceRetain Invoice in UNPAID / OVERDUE StatusPost Dishonour Penalty & Bank Charges JVyesCheque Bounced?4. Society Expenses & Accounts PayableReceive Vendor Bill (e.g., Security, Electricity, Elevator AMC)Verify Vendor Details, GSTIN, and Service DeliveryPost Purchase Voucher (PUV):- Debit: Relevant Expense Ledger (e.g., Security Service Exp)- Credit: Accounts Payable (Vendor Ledger)Approve & Execute Vendor Payment from Society BankPost Payment Voucher (PV):- Debit: Accounts Payable (Vendor Ledger)- Credit: Bank Account- Credit: TDS Payable (if applicable)5. General Ledger, Trial Balance & StatementsAggregate Posted Journal Lines into General LedgerCalculate Real-Time Account Closing BalancesGenerate Trial BalanceTrial Balance Balanced: Total Dr == Total Cr?yesnoConfirm Arithmetic IntegrityFlag Critical Imbalance Warning for Accountant ReviewGenerate Income & Expenditure Account (Surplus / Deficit)Generate Balance Sheet (Assets == Liabilities + Reserves)6. Bank Reconciliation Statement (BRS)Target System Capability:*(Identified as missing in both Repo A and Repo B)*Upload Official Bank Statement (CSV / MT940)Match Statement Entries with Society Cash Book / Bank LedgerIdentify Unreconciled Items:- Cheques Issued but not yet presented by Vendors- Cheques Deposited but not yet credited by Bank- Direct Bank Charges / Interest not yet entered in BooksGenerate Bank Reconciliation Statement (BRS)Post Necessary Adjustment JVs for Bank Charges / InterestBusiness Workflow Activity Diagram | Target System Flow (Based on AUDIT-BLUEPRINT)
Indian Co-operative Housing Society Management PlatformSociety Management System - Proposed Target ER DiagramSocietyid : UUID «PK»name : VARCHAR(150)registration_number : VARCHAR(50)address : TEXTcurrency : VARCHAR(3) [DEFAULT 'INR']created_at : TIMESTAMPBuildingid : UUID «PK»society_id : UUID «FK»name : VARCHAR(100)total_floors : INTFlatid : UUID «PK»society_id : UUID «FK»building_id : UUID «FK»flat_number : VARCHAR(20)floor_number : INTcarpet_area_sqft : DECIMAL(10,2)super_builtup_area_sqft : DECIMAL(10,2)flat_type : ENUM(1BHK, 2BHK, 3BHK, Penthouse, Commercial)status : ENUM(Occupied, Vacant)Residentid : UUID «PK»society_id : UUID «FK»full_name : VARCHAR(150)phone_number : VARCHAR(20)email : VARCHAR(100)pan_number : VARCHAR(10)status : ENUM(Active, Inactive, MovedOut)FlatOccupancyid : UUID «PK»society_id : UUID «FK»flat_id : UUID «FK»resident_id : UUID «FK»occupancy_type : ENUM(Owner_Residing, Tenant, Co_Owner)start_date : DATEend_date : DATEis_primary_contact : BOOLEANChargeItemid : UUID «PK»society_id : UUID «FK»income_ledger_account_id : UUID «FK»name : VARCHAR(100)calculation_method : ENUM(Per_Sqft, Fixed_Per_Flat, Per_Vehicle, Equal_Split, Metered)rate : DECIMAL(12,2)is_mandatory : BOOLEANis_taxable : BOOLEANInvoiceid : UUID «PK»society_id : UUID «FK»flat_id : UUID «FK»financial_year_id : UUID «FK»invoice_number : VARCHAR(50) «UNIQUE»billing_period : VARCHAR(20)invoice_date : DATEdue_date : DATEtotal_amount : DECIMAL(12,2)paid_amount : DECIMAL(12,2)balance_amount : DECIMAL(12,2)status : ENUM(Draft, Posted, Partially_Paid, Paid, Overdue, Cancelled)journal_entry_id : UUID «FK, UNIQUE»InvoiceLineid : UUID «PK»invoice_id : UUID «FK»charge_item_id : UUID «FK»description : VARCHAR(200)quantity : DECIMAL(10,2)rate : DECIMAL(12,2)line_total : DECIMAL(12,2)Paymentid : UUID «PK»society_id : UUID «FK»flat_id : UUID «FK»payment_date : DATEamount_received : DECIMAL(12,2)payment_mode : ENUM(UPI, Cheque, NEFT_RTGS, Cash, Gateway)reference_number : VARCHAR(100)cheque_number : VARCHAR(30)cheque_clearance_date : DATEreceipt_number : VARCHAR(50) «UNIQUE»status : ENUM(Pending, Realized, Bounced, Refunded)journal_entry_id : UUID «FK, UNIQUE»PaymentAllocationid : UUID «PK»payment_id : UUID «FK»invoice_id : UUID «FK»allocated_amount : DECIMAL(12,2)is_advance : BOOLEANAccountCategoryid : UUID «PK»code : VARCHAR(10) «UNIQUE»name : ENUM(Asset, Liability, Income, Expense)normal_balance : ENUM(Debit, Credit)AccountGroupid : UUID «PK»account_category_id : UUID «FK»code : VARCHAR(20)name : VARCHAR(100)AccountSubgroupid : UUID «PK»account_group_id : UUID «FK»code : VARCHAR(30)name : VARCHAR(100)LedgerAccountid : UUID «PK»society_id : UUID «FK»account_subgroup_id : UUID «FK»account_code : VARCHAR(50)account_name : VARCHAR(150)opening_balance : DECIMAL(14,2)current_balance : DECIMAL(14,2)is_active : BOOLEANis_system_locked : BOOLEANJournalEntryid : UUID «PK»society_id : UUID «FK»financial_year_id : UUID «FK»voucher_type : ENUM(JV, RV, PV, SV, PUV)voucher_number : VARCHAR(50) «UNIQUE»entry_date : DATEnarration : TEXTtotal_debit : DECIMAL(14,2)total_credit : DECIMAL(14,2)source_document_type : VARCHAR(50)source_document_id : UUIDstatus : ENUM(Posted, Reversed)JournalLineid : UUID «PK»journal_entry_id : UUID «FK»ledger_account_id : UUID «FK»flat_id : UUID «FK, NULLABLE»vendor_id : UUID «FK, NULLABLE»debit : DECIMAL(14,2)credit : DECIMAL(14,2)line_narration : VARCHAR(255)Vendorid : UUID «PK»society_id : UUID «FK»payable_ledger_account_id : UUID «FK»vendor_name : VARCHAR(150)gstin : VARCHAR(15)pan : VARCHAR(10)phone : VARCHAR(20)PurchaseInvoiceid : UUID «PK»society_id : UUID «FK»vendor_id : UUID «FK»invoice_number : VARCHAR(50)invoice_date : DATEtotal_amount : DECIMAL(12,2)tds_amount : DECIMAL(12,2)status : ENUM(Unpaid, Partially_Paid, Paid)journal_entry_id : UUID «FK, UNIQUE»FinancialYearid : UUID «PK»society_id : UUID «FK»year_name : VARCHAR(20)start_date : DATEend_date : DATEis_closed : BOOLEANBankAccountid : UUID «PK»society_id : UUID «FK»ledger_account_id : UUID «FK, UNIQUE»bank_name : VARCHAR(100)account_number : VARCHAR(50)ifsc_code : VARCHAR(20)branch_name : VARCHAR(100)BankReconciliationid : UUID «PK»society_id : UUID «FK»bank_account_id : UUID «FK»statement_date : DATEstatement_closing_balance : DECIMAL(14,2)book_closing_balance : DECIMAL(14,2)difference : DECIMAL(14,2)status : ENUM(Draft, Reconciled)financial_yearbank_accountbank_reconciliationhascontainshousestracksoccupiesconfigurescalculatesbilled toitemizesremitsallocatessettlescontainscontainsclassifiesownsrecordsconsists ofupdatesauto-postsauto-postscontractssubmitsauto-postshas AP ledgermaps to Income ledgeroperates inmaintainsmaps to Asset ledgerreconcilesProposed Target Schema (Resolves 2-tier COA and billing isolation in audited repos)
Indian Co-operative Housing Society Management PlatformMaintenance Invoicing, Accounting Posting & Payment Settlement SequenceSociety AdminBilling ServiceAccounting ServiceDatabaseResidentPayment ServiceSociety AdminBilling ServiceAccounting ServiceDatabase(Atomic Transaction)ResidentPayment ServiceSociety AdminBilling ServiceAccounting ServiceDatabase(Atomic Transaction)ResidentPayment ServicePhase 1: Invoice Generation & Balanced Journal PostingRequest Invoice Generation (Period: June 2026, Wing: Tower-A)Fetch Active Flats (Area sq.ft) & Charge Items (Rates)Return 50 Flats & Approved Charge MasterCalculate Line Charges per Flat[Illustrative: 1,000 sq.ft * ₹2.50 = ₹2,500 Service+ ₹1,500 Sinking + ₹1,000 Parking = ₹5,000 Total]Begin Database Transaction (ACID / Multi-Doc Session)Insert Invoices (status: DRAFT) & InvoiceLinesInvoices Staged (e.g., Inv #INV-2026-0101)Request Sales Journal Voucher Creation(Inv #INV-2026-0101, Amount: ₹5,000.00)Construct Journal Lines:- Debit: Member Dues AR (Flat 101) = ₹5,000.00- Credit: Service Charge Income = ₹2,500.00- Credit: Sinking Fund Reserve = ₹1,500.00- Credit: Parking Income = ₹1,000.00Validate Invariant:Total Debits (₹5,000.00) == Total Credits (₹5,000.00)AND Total Debits > 0alt[Invariant Validation Succeeded]Insert JournalEntry (Type: SV, status: POSTED) & JournalLinesUpdate Ledger Account Balances (AR Dr, Income Cr)Journal Entry #JV-2026-0501 PostedUpdate Invoice status -> POSTED (Link journal_entry_id)Commit TransactionInvoicing Run Complete (50 Invoices Generated & Posted)[Invariant Validation Failed (Total Dr != Total Cr)]Throw AccountingBalanceException("Unbalanced debits/credits")Rollback Database TransactionError: Billing run aborted; all staged changes rolled backPhase 2: Resident Payment, Allocation & ReceiptingSubmit Payment (e.g., ₹5,000 via UPI / Gateway / Cheque)Begin Database TransactionFetch Member Outstanding Invoices (FIFO Order)Return Inv #INV-2026-0101 (Balance: ₹5,000.00)Allocate Payment to Invoice(Allocated: ₹5,000.00, Remaining Inv Balance: ₹0.00)Insert Payment Record & PaymentAllocationUpdate Invoice (paid_amount = ₹5,000, balance = ₹0, status = PAID)Request Receipt Voucher Posting(Payment Ref: UPI-98765, Amount: ₹5,000.00)Construct Journal Lines:- Debit: Society Bank Account = ₹5,000.00- Credit: Member Dues AR (Flat 101) = ₹5,000.00Validate Invariant: Total Dr (₹5,000) == Total Cr (₹5,000)alt[Receipt Posting Succeeded]Insert JournalEntry (Type: RV, status: POSTED) & JournalLinesUpdate Ledger Balances (Bank Dr, AR Cr)Receipt Voucher #RV-2026-0801 PostedInsert Printable Money Receipt (Receipt #REC-2026-0101)Commit TransactionPayment Confirmed & Instant PDF Receipt Issued[Payment Gateway / Cheque Bounced or Posting Error]Rollback Database TransactionInsert Payment Record (status: FAILED / BOUNCED)CommitPayment Failed / Transaction Rolled BackSequence Diagram | Target System Transaction Flow (Based on AUDIT-BLUEPRINT)
Indian Co-operative Housing Society Management PlatformDouble-Entry Accounting Posting Flow & Financial Statement Rollup1. Source Business Events2. Balanced Journal Entries (Journal Vouchers - JV/RV/PV)3. General Ledger (Account-wise Aggregations)Asset LedgersLiability LedgersIncome LedgersExpense Ledgers4. Real-time Trial Balance5. Final Statutory Financial StatementsEvent A: Maintenance Invoicing[Monthly Maintenance Run]Event B: Member Standard Payment[Invoice Settlement]Event C: Society Operating Expense[Security Agency Bill Paid]Event D: Advance / Excess Payment[Member pays ₹8,000 against ₹5,000 bill]JV #001: Sales / Billing VoucherDebit:Member Dues Receivable [Asset] : ₹5,000.00Credit:Maintenance Income [Income] : ₹5,000.00*Invariant Check: Dr ₹5,000 == Cr ₹5,000*RV #001: Receipt VoucherDebit:Society Bank Account [Asset] : ₹5,000.00Credit:Member Dues Receivable [Asset] : ₹5,000.00*Invariant Check: Dr ₹5,000 == Cr ₹5,000*PV #001: Payment / Expense VoucherDebit:Security Service Expense [Expense] : ₹15,000.00Credit:Society Bank Account [Asset] : ₹15,000.00*Invariant Check: Dr ₹15,000 == Cr ₹15,000*RV #002: Advance Receipt VoucherDebit:Society Bank Account [Asset] : ₹8,000.00Credit:Member Dues Receivable [Asset] : ₹5,000.00Credit:Member Advance Maintenance [Liability] : ₹3,000.00*Invariant Check: Dr ₹8,000 == Cr (₹5,000 + ₹3,000)*Ledger: Society Bank Account- RV #001: Dr ₹5,000- PV #001: Cr ₹15,000- RV #002: Dr ₹8,000Net Balance (Dr): -₹2,000(or from Opening Bal)Ledger: Member Dues Receivable- JV #001: Dr ₹5,000- RV #001: Cr ₹5,000- RV #002: Cr ₹5,000Net Balance: ₹0.00Ledger: Member Advance Maintenance- RV #002: Cr ₹3,000Net Balance (Cr): ₹3,000.00Ledger: Maintenance Income- JV #001: Cr ₹5,000Net Balance (Cr): ₹5,000.00Ledger: Security Service Expense- PV #001: Dr ₹15,000Net Balance (Dr): ₹15,000.00Trial Balance Summary1. Society Bank Account: [Dr ₹28,000* | Cr ₹15,000] -> Net Dr ₹13,000*2. Member Dues Receivable: [Dr ₹5,000 | Cr ₹5,000] -> ₹0.003. Member Advance Liability: Net Cr ₹3,0004. Maintenance Income: Net Cr ₹5,0005. Security Expense: Net Dr ₹15,0006. Opening Equity/Capital*: Net Cr ₹20,000Total Debits == Total Credits (Balanced)Income & Expenditure Account(For the Year Ended)Expenditure:- Security Expense: ₹15,000.00Income:- Maintenance Income: ₹5,000.00Net Deficit / (Surplus)transferred to Balance SheetBalance Sheet(As on Date)Liabilities & Reserves:- Reserve / Member Capital Fund- Member Advance Maintenance (₹3,000.00)- Net Surplus / (Deficit) from I&E Assets:- Bank Balance- Member Dues Receivable (₹0.00)- Fixed AssetsTotal Assets == Total Liabilities + ReservesImportant Accounting Notice:All ledger mappings and monetary figures areillustrative examplesto demonstratedouble-entry mechanics. Final classification must be validated by a qualified Indian society auditor.Auto-post on Bill RunAuto-post on PaymentPost on Expense ApprovalPost on Excess PaymentUpdates DrUpdates CrUpdates DrUpdates CrUpdates DrUpdates CrUpdates DrUpdates CrUpdates CrIncome & Expense LedgersAsset & Liability LedgersNet Surplus / Deficit Transferred to ReservesAccounting Flow Diagram | Illustrative Double-Entry Mechanics (Subject to Auditor Sign-off)
Indian Co-operative Housing Society Management PlatformMember Maintenance Invoice Lifecycle & Reversal State MachineDraftLine items calculated from area/rulesNo journal entry posted yetEditable by billing operatorCancelled_DraftDraft deleted or archivedNo financial ledger footprintPostedInvoice published to Resident PortalMember Dues Receivable active in ledgerPDF generated with unique invoice numberPartially_PaidPartial payment realized in society bankRemaining balance displayed on portalOverdueGrace period expiredLate fee / interest policy appliedMember marked on Defaulters ListPaidOutstanding balance = 0Payment receipt issued to memberReceivable ledger fully settledReversedInvoice marked VOID / REVERSEDLinked to Reversal Journal VoucherDetailed cancellation reason & audit log recordedCritical Accounting Principle:Once an invoice transitions fromDrafttoPosted,it becomes a legally enforceable accounting claim.SILENT DELETION IS FORBIDDEN.Any correction MUST produce an offsetting Reversal JVor Credit Note to preserve the audit trail.Billing run initiated(Charges computed per flat)Admin approves & finalizes run[ACTION: Auto-post Sales JV]Dr: Member Dues AR / Cr: IncomeDiscarded before posting(No accounting impact)Member remits partial payment (< Total)[ACTION: Post Receipt Voucher for partial amount]Invoice balance updated (Balance > 0)Member remits exact full payment[ACTION: Post Receipt Voucher for full amount]Invoice balance = 0Payment due date passes without payment[RULE: System flags invoice as delinquent]Subsequent payment clears remaining balance[ACTION: Post Receipt Voucher for remainder]Invoice balance = 0Due date passes with outstanding balance[RULE: System flags partial balance as overdue]Member makes partial payment towards overdue billMember clears full overdue principal + interestBilling error discovered (e.g. wrong flat area)[MANDATORY ACCOUNTING CONTROL]Post Reversal JV: Dr Income / Cr Member AR*(Silent database deletion is strictly prohibited)*Billing dispute resolved via Credit Note[CONTROL: Post Credit Note / Reversal JV]*(Any excess collected refunded or credited to Advance)*Bad debt write-off approved by AGM[CONTROL: Post Bad Debt JV: Dr Provision / Cr AR]State Machine Diagram | Invoice Lifecycle & Accounting Controls (Based on AUDIT-BLUEPRINT)
Indian Co-operative Housing Society Management PlatformSecurity Gate Operations: Visitor Verification, Vehicle & Parking WorkflowThis syntax is deprecated and the color is ignored: write ':Resident Clicks 'ALLOW ENTRY'; <<#C8E6C9>>' instead of '#C8E6C9:Resident Clicks 'ALLOW ENTRY';'This syntax is deprecated and the color is ignored: write ':Resident Clicks 'DENY ENTRY'; <<#FFCDD2>>' instead of '#FFCDD2:Resident Clicks 'DENY ENTRY';'This syntax is deprecated and the color is ignored: write ':Entry Disallowed Due to Lack of Authorization; <<#FFCDD2>>' instead of '#FFCDD2:Entry Disallowed Due to Lack of Authorization;'1. Arrival at Society GateVisitor / Vehicle arrives at Main EntranceEntry Category?Resident VehicleVisitor / Guest / Delivery / CabScan RFID Tag / Automatic Number Plate Recognition (ANPR)Registered in Society Vehicle Registry?yesunrecognizedDisplay Allocated Parking Slot (e.g., Stilt #S-14);Open Automatic Boom BarrierLog Entry Timestamp in Vehicle Movement LogHalt at Guard Booth for Manual InspectionGuard approaches Visitor at Gate Console2. Visitor Verification & RegistrationHas Pre-Approved QR Pass?yes - Pre-Approved Guestno - Walk-in / Unannounced VisitorGuard Scans Digital QR Code via Security ConsoleSystem validates Pass Validity, Destination Flat & DatesPass Validated AutomaticallyGuard Enters Visitor Details on Console:- Full Name & Mobile Phone Number- Destination Flat Number- Category: Guest / Courier-Delivery / Cab / Service-Workman- Purpose of VisitVisitor Has Vehicle?yespedestrianRecord Vehicle Registration NumberSelect Vehicle Type: 2-Wheeler / 4-WheelerVisitor Parking Slots Available?yesno slotsAssign Temporary Visitor Parking Slot (e.g., V-03)Alert Guard: No Visitor Parking AvailableDirect Driver to Park Outside / Drop-off OnlyNote: Pedestrian / Cab Drop-offCapture Visitor Photo (Console WebCam / Camera)3. Resident AuthorizationSystem dispatches instant Push Notification & SMSto Registered Host Resident(s) of Destination FlatApprovedResident Response on Mobile App?Resident Clicks 'ALLOW ENTRY'Generate Electronic Gate PassRejectedDenied / RejectedNo Response / Timeout after 2 MinsResident Clicks 'DENY ENTRY'Guard Notified: Entry Denied by ResidentVisitor Directed to Leave PremisesLog Entry Rejection in Security Audit LogGuard Manual Intercom / Phone Call Confirmed?yesnoGuard Manual Override with Vocal ApprovalGenerate Electronic Gate PassEntry Disallowed Due to Lack of Authorization4. Entry & On-Premises StateLog Inward Timestamp & Issue Digital Pass (SMS / Slip)Open Gate / Boom Barrier for VisitorStatus Updated to:ON_PREMISESBackground Monitor: Track Overstay if duration exceeds 4 hours5. Visitor Departure & Check-outVisitor arrives at Exit GateGuard Searches Pass by Mobile No, Flat No, or Vehicle PlateGuard Confirms Visitor Identity & ClicksCHECK-OUTSystem Logs Outward Departure TimestampRelease Visitor Parking Slot back to Available PoolyesVisitor Allocated Temporary Parking Slot?Status Updated to:COMPLETED / CHECKED_OUTCalculate Total Dwell Time on PremisesArchive Record in Permanent Visit History LogOpen Exit BarrierSecurity Workflow Activity Diagram | Gate Operations (Based on AUDIT-BLUEPRINT)
1 / 7
100%