Bookkeeper — Books, Payroll & Accounting | US Law Firm | Direct Hire

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

SALARY

$900-$1,300/month

HOURS PER WEEK

40

DATE UPDATED

Jul 17, 2026

JOB OVERVIEW

We are CIG Law (California Injury Group, A.P.C.), a personal injury law firm in Beverly Hills, California — ---------- . We are hiring a full-time bookkeeper to own our books end to end — DIRECTLY, no agency, no markup. You invoice us, we pay you 100% of your salary by Wise or Payoneer, on time, twice a month.

YOUR WORK (full-time, long-term):
- Full-cycle bookkeeping: categorize transactions, reconcile bank and credit card accounts monthly
- Accounts payable and receivable: vendor bills, case-cost tracking, client cost ledgers
- Run payroll and contractor payments on schedule, including our remote team (Wise/Payoneer/Gusto)
- Law-firm trust accounting support: help keep our client trust (IOLTA) ledgers clean and reconciled to the penny (attorney reviews and approves everything)
- Monthly close: P&L, balance sheet, cash-flow summary delivered by the 5th
- Track firm expenses, flag anomalies, keep our CPA supplied at tax time

REQUIREMENTS:
- 3+ years full-charge bookkeeping experience, at least 1 year for US clients
- QuickBooks Online expert (Xero also welcome); strong Excel/Google Sheets
- Experience with US payroll and 1099 contractor payments
- Law-firm or trust-accounting experience is a big plus — tell us if you have it
- Detail-obsessed, deadline-reliable, and comfortable owning the numbers alone
- WORK HOURS: Flexible day schedule, with at least 3 hours overlap with California business hours (Pacific time), Monday–Friday
- Own computer (8GB+ RAM), backup internet, quiet workspace

WHAT YOU GET:
- $900–$1,300 USD/month depending on experience — paid direct, no agency taking a cut
- 13th-month pay · 12 days paid time off + Philippine regular holidays · monthly internet/health stipend · annual raise review
- Stable, long-term role with a US firm that treats its remote team as real tea ---------- mbers

HOW TO APPLY (read carefully — this is the first test):
1. Complete this form: ----------
2. In the "source code" field of the form, type the word GAVEL
3. In the "Role you are applying for" question, select Bookkeeper / Accounting Specialist
4. Applications sent only through OnlineJobs messages, or missing the code word, will not be reviewed.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0007
Controller Execution Time ( Jobseekers / Job )  0.0118
Total Execution Time  0.0130
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,501,168 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Bookkeeper-Books-Payroll-Accounting-US-Law-Firm-Direct-Hire-1691062
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0072 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0004   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1691062
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 820262
 LIMIT 1 
0.0008   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1691062
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-08-18',ej.date_added) duration_daysDATEDIFF('2026-08-18',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-08-18',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1691062' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691062 
0.0007   UPDATE employer_jobs SET hit_counts '***Jul-17-2026=1089***Jul-18-2026=267***Jul-19-2026=217***Jul-20-2026=205***Jul-21-2026=82***Jul-22-2026=35***Jul-23-2026=42***Jul-24-2026=19***Jul-25-2026=12***Jul-26-2026=13***Jul-27-2026=22***Jul-28-2026=21***Jul-29-2026=18***Jul-30-2026=15***Jul-31-2026=14***Aug-01-2026=14***Aug-02-2026=13***Aug-03-2026=15***Aug-04-2026=26***Aug-05-2026=20***Aug-06-2026=10***Aug-07-2026=6***Aug-08-2026=7***Aug-09-2026=4***Aug-10-2026=8***Aug-11-2026=10***Aug-12-2026=11***Aug-13-2026=7***Aug-14-2026=7***Aug-15-2026=6***Aug-18-2026=1' WHERE job_id'1691062'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jul-2026=2071***Aug-2026=165' WHERE job_id'1691062'  
0.0008   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1691062' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1691062 
0.0018   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '820262'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)