Active Customers
—
All active accounts
Monthly Collections
—
This month's payments
Monthly Expenses
—
This month's expenses
Open Receivables
—
Unpaid invoice balances
Assigned Devices
—
Active device assignments
Due / Overdue
—
Accounts needing attention
📅 Due Today
| Account | Name | Balance |
|---|
⚠️ Overdue Accounts
| Account | Name | Days | Balance |
|---|
Internet Plans
Manage service plans
| Code | Plan Name | Speed Profile | Monthly Fee | Install Fee | Status |
|---|
Customer Management
All accounts
| Account # | Name | Mobile | Plan | Status | Applied | T&C Accepted |
|---|
Customer 360°
Full ledger and service history
| Account | Name | Plan | Status |
|---|
Bulk Operations
Upload Customers CSV
📄
Click to select CSV
Required: account_no, full_name, service_address, plan_codeFormat Guide
account_no,full_name,service_address,
plan_code,mobile_number,email,
company_name,billing_address,
due_day,connection_type
• Minimum: account_no, full_name, service_address, plan_code
• Duplicates are automatically skipped
Bulk Plan Change CSV
🔄
Click to select CSV
Required: account_no, new_plan_codeRules
account_no,new_plan_code
• Old service deactivated, new one created
• due_day, connection_type, ip_mode preserved
• Upgrade / downgrade auto-detected
Billing Cycles
Invoice generation and billing periods
| Cycle Code | Month | Bill Date | Due Date | Status | Lock | Invoices |
|---|
Payments & Official Receipts
| OR # | Date | Account | Customer | Method | Amount |
|---|
Collections & AR Aging
Current
₱0
0
1–30 Days
₱0
0
31–60 Days
₱0
0
61–90 Days
₱0
0
90+ Days
₱0
0
Due Today
| Account | Name | Balance |
|---|
Overdue
| Account | Name | Days | Balance |
|---|
Device Assignments
ONU, Modem, Router inventory
| Customer | Type | Brand/Model | Serial # | MAC | IP Address | Assigned | Technician | Status |
|---|
Expenses
Operational cost tracking
This Month
₱0
This Year
₱0
Total Records
0
| Date | Payee | Ref # | Description | Expense Acct | Source | Amount | By |
|---|
SMS Operations
Configuration
⚠ Edge Function Required
SMS must be sent via a Supabase Edge Function — direct browser calls to Semaphore are blocked by CORS. See the setup guide below.
SMS must be sent via a Supabase Edge Function — direct browser calls to Semaphore are blocked by CORS. See the setup guide below.
Send Operations
Message Preview
0 chars
🔧 Edge Function Setup Guide Required to fix SMS
Why SMS fails: Browsers block direct calls to
api.semaphore.co due to CORS security policy. A Supabase Edge Function acts as the server-side proxy.
Step 1 — Install Supabase CLI
npm install -g supabase
Step 2 — Create the Edge Function file
Create file:
supabase/functions/send-sms/index.tsimport { serve } from "https://deno.land/std@0.168.0/http/server.ts";
const cors = {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Headers": "authorization, x-client-info, apikey, content-type",
};
serve(async (req) => {
if (req.method === "OPTIONS") return new Response("ok", { headers: cors });
if (req.method === "GET") return new Response("ok", { headers: cors }); // ping
try {
const body = await req.json();
const res = await fetch("https://api.semaphore.co/api/v4/messages", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(body),
});
const data = await res.json();
return new Response(JSON.stringify(data), {
status: res.status,
headers: { ...cors, "Content-Type": "application/json" },
});
} catch (e) {
return new Response(JSON.stringify({ error: e.message }), {
status: 500,
headers: { ...cors, "Content-Type": "application/json" },
});
}
});
Step 3 — Deploy to Supabase
supabase login
supabase link --project-ref YOUR_PROJECT_REF
supabase functions deploy send-sms --no-verify-jwt
• Replace
•
YOUR_PROJECT_REF with the ID from your Supabase URL (e.g. qklbdgprixxnungxyugq)•
--no-verify-jwt allows calls from the browser with your anon keyStep 4 — Test the connection
Click the 🔌 Test Connection button in the Configuration card above. A green message confirms SMS will now work.
✓ After deploying: Click 🔄 Retry Failed button in SMS Logs to re-send all previously failed messages automatically.
SMS Logs
| Date/Time | Account | Mobile | Type | Message | Status | Error / Response |
|---|
Accounting
| Code | Account Name | Type | Normal | Active |
|---|
| JE # | Date | Reference | Description | Debit | Credit |
|---|
| Date | JE # | Description | Debit | Credit | Balance |
|---|
| Code | Account | Debit | Credit |
|---|
Select a period
Select a date