Experienced Bookkeeper for a German Company - One-Time Backlog Project (Fixed Price)

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

TYPE OF WORK

Gig

SALARY

Fixed price - quote in your application

HOURS PER WEEK

TBD

DATE UPDATED

Oct 3, 2026

JOB OVERVIEW

We are a small German limited company (a "UG") that sells online services. Our bookkeeping for 2026 has fallen behind and we need one careful person to clear the backlog. This is a ONE-TIME project with a fixed price, not an ongoing position. If it goes well, there may be a few hours of monthly work afterwards, but please apply for the project as described.

*** YOU MUST BE AN EXPERIENCED BOOKKEEPER ***
We need someone who has done real bookkeeping for real companies for years: bank reconciliation, matching receipts, VAT, payment-provider payouts. The software we use is German (DATEV Unternehmen online). You do NOT need to know it - we will show you exactly how it works on a call, it is simple. The receipts are mostly in German, but the layout is standard (date, supplier, net, VAT, total) and a translator handles the rest. Experience with German or European (VAT) bookkeeping is a big plus, not a requirement.

THE BACKLOG (January 2026 to today)

1) MATCH RECEIPTS TO THE BANK
- Go through every transaction on our business bank account for 2026
- Match each one to its receipt or invoice
- Give us a clear list of every transaction that has no document

2) COLLECT THE MISSING RECEIPTS
- Download missing invoices from supplier portals and from our email (phone, software subscriptions, online tools and so on)
- For anything only we can get, send us one clear list - not twenty separate messages

3) UPLOAD, CATEGORISE AND BOOK IN DATEV UNTERNEHMEN ONLINE
- Upload every document to DATEV Unternehmen online and assign it to the right bank transaction
- Add the right category, VAT rate and a short note where the purpose is not obvious
- We show you how the software works first. Flag anything unclear for our tax advisor instead of guessing

4) THE INCOME SIDE
- Reconcile payouts from Stripe, PayPal and our other payment provider against the bank account
- Sort the customer sales behind those payouts (gross, fees, net, country of the customer) so the tax advisor can book them correctly
- Tell us where an outgoing invoice is missing

WHAT YOU GET FROM US
- Read-only access to the bank transactions (export or viewer access - you will never be able to move money)
- Access to DATEV Unternehmen online
- The receipts we already have, sorted by month
- Exports from Stripe and PayPal
- Fast answers. We reply the same day.

WHAT WE NEED FROM YOU
- Several years of real bookkeeping experience (bank reconciliation, accounts payable, VAT or sales tax)
- Experience reconciling Stripe and PayPal payouts
- You learn new software quickly. We train you on DATEV Unternehmen online
- Comfortable working with receipts in another language (German) using a translator where needed
- Extremely careful. One wrong VAT code is worse than a slow job
- Trustworthy. You will see company financial data and will sign a confidentiality agreement
- Big plus: experience with German or other European companies (VAT, reverse charge), or with DATEV, Lexoffice or sevDesk

THE DETAILS
- One-time project, fixed price. Tell us your price in the application
- Payment: a small PAID test first (one month of the backlog). Then 50% at the start of the main work and 50% when everything is uploaded and the missing-documents list is delivered
- Work whatever hours you like. We care about the result and the deadline you commit to
- Start as soon as possible

HOW TO APPLY - PLEASE READ CAREFULLY

Answer all 7 points below, in this order. Applications that skip a point will not be read. Please do not send a generic cover letter.

1. Start your message with the words "clean books" so we know you read this.

2. YOUR BOOKKEEPING EXPERIENCE: how many years, what kind of companies (type of business and country is enough, no names needed), and exactly what you did for them.

3. SOFTWARE AND EUROPE: which bookkeeping software you have used, and whether you have ever worked for a German or European company or with VAT. If not, say so plainly - it is not a requirement.

4. You are matching receipts to the bank and find 25 bank transactions with no receipt at all. What do you do, and in what order? (2-3 sentences)

5. A Stripe payout of 1,843.20 EUR arrives in the bank account. Explain in 2-3 sentences why you cannot simply book it as 1,843.20 EUR of revenue, and what you need to book it correctly.

6. YOUR PRICE AND TIMING: your fixed price in USD for the project, assuming fewer than 300 bank transactions for the year, and how many days you need. If you cannot quote without seeing the data, give your price for the paid test month and your price per 100 transactions.

7. Your OnlineJobs profile or CV, plus one sentence on which part of it is most relevant to this project.

Everyone who follows all 7 steps gets a reply.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0010
Controller Execution Time ( Jobseekers / Job )  0.0149
Total Execution Time  0.0167
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,508,280 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Experienced-Bookkeeper-for-a-German-Company-One-Time-Backlog-Project-Fixed-Price-1742980
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0072 seconds)  (Hide)
0.0004   SELECT *
                                
FROM exrates
                                WHERE rate_name 
= 'USD-PHP' 
0.0023   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1742980
 LIMIT 1 
0.0004   SELECT *
FROM `employers`
WHERE `employer_id` = 863524
 LIMIT 1 
0.0004   SELECT COUNT(*) AS `numrows`
FROM `t_thread` `t`
LEFT JOIN `t_thread_misc` `misc` ON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1742980
AND `misc`.`id` IS NULL 
0.0005   SELECT e.business_name, e.logo, e.website, e.rebill_date, e.date_added member_date, hits, DATEDIFF('2026-10-03',ej.date_added) duration_days, DATEDIFF('2026-10-03',e.rebill_date) duration_rebill, ej.*, e.deactivate FROM employers e, employer_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-10-03',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != 1 AND ej.deleted = 0 AND job_id = '1742980' 
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742980 
0.0008   UPDATE employer_jobs SET hit_counts = '***Oct-03-2026=1223' WHERE job_id= '1742980'  
0.0006   UPDATE employer_jobs SET monthly_hits = '***Oct-2026=1222' WHERE job_id= '1742980'  
0.0003   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id = '' AND job_id = '1742980' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `sc` ON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1742980 
0.0003   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '863524'
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)