This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Governance

The governance handbook.

Governance is everything to run the company, like sales, finance, IT, etc. Find handbooks for each of these departments here.

Weekly management tasks

We focus our workload around three main topics, backed by three task boards:

  1. Sales
  2. Finance
  3. Strategic / other activities

Sales

The sales process is much more an ongoing process where sales items are updated as requests come in. We keep track of leads and opportunities on our sales funnel board (internal link).

Registering deals

When deals (leads or opportunities) are registered (read: a sales item is created on the sales funnel board), it should get the correct label that reflects that status it is in, in the sales cycle. More info on the different phases in the sales process can be found in the GitLab project (internal link).

When a deal is registered it should als be linked to a customer contact. See the handbook on customer relations management.

Closing deals

An opportunities is closed when the contract is signed. A signed contract can be either:

  • An actual contract with a start date, end date and clearly defined scope,
  • A sub-agreement or ‘statement of work’ that is part of an existing framework contract,
  • A signed quote.

The signed document must be linked or attached to the sales ticket.

Sales fulfillment

The sales process is setup in a way that fulfillment of the deal contains doing the actual work and invoice it. This means that a sales item can only be closed if it is linked with a blocking finance ticket. Once the finance ticket is closed, the sales item can be closed as well.

Finance

To keep finance work to a manageable amount, a weekly 1-hour finance run is scheduled. During the finance run, the finance board is checked for open tasks. Emails sent to invoices@sbsc.nl or to invoices@balean.org are automatically forwarded to this board.

Strategic / other activities

After our monthly board meeting, action items are converted into GitLab work items on our action board. Actions from board meetings are prefixed with Balean Board Meeting action: so we can find them easily.

1 - People

Documentation of People Ops procedures

Joining and leaving the organisation

People joining or leaving the organisation must be onboarded and later offboarded. Both processes require actions both from the person being onboarded or offboarded as well as from an organisation admin.

Onboarding process

Starting a new role at an organisation, either as a volunteer or in a paid role, is always exciting. To make sure people start well prepared, each new person gets an onboarding issue in GitLab with information about the organisation, their role, important links and tasks they need to do to get started.

To welcome people onboard, there is a welcome email template. Use that template to sent an email to the private email address of the person being onboarded. Sent this email a couple of working days before the start date.

Tasks for onboarding:

  1. Create an onboarding issue on the employment board. Use the onboarding description template.
  2. Send a welcome email based on the template above. NOTE change the issue link for the onboarding issue in the email template before sending!!!
  3. Create a Google account for the new colleague
  4. Invite to Slack with the new Google account
  5. Invite to any other app that it may require access to.

Offboarding process

During offboarding, ask the person leaving if they want to write a small text on their experience working from home. Provide them with the following questions as a guideline for the text:

  1. What is your home situation like? Are you living alone, with family, with others, etc?
  2. Why did you decide to pick a remote assignment in the first place?
  3. What were your expectations upfront?
  4. How did you experience working fully remote in the end?
  5. What did you like about working from home and why?
  6. What were your biggest challenges and why?
  7. What are some tips to give to other people when working from home?
  8. Any other thoughts you may want to share.

Tasks for offboarding:

  1. Create an offboarding issue max. a week before contract end on the employment board. Use the offboarding description template.
  2. Send a message either on Slack or via personal email to ask for feedback on remote work.

1.1 - The remote work handbook

Guidelines, tips and tricks on how to work from home.

Experiences from others

The best way to learn how to make remote work a success is to hear from others who have already done it.

Share your experience

If you want to share your experience, send us your story and we will post is on this page. To give you a guideline on what to talk about, you can use the following questions:

1.⁠ ⁠Why did you decide to pick a remote assignment in the first place? 2.⁠ ⁠⁠What is your home situation? Living alone, with my family, with others, etc 3.⁠ ⁠What were your expectations upfront? 4.⁠ ⁠How did you experience working fully remote in the end? 5.⁠ ⁠What did you like about working from home and why? 6.⁠ ⁠What were your biggest challenges and why? 7.⁠ ⁠What are some tips to give to other people when working from home? 8.⁠ ⁠Any other thoughts you may want to share.

Guide for successful remote work

Working remotely is quite different from going to the office. There is no natural interaction with colleagues and the rhythm of going to the office and getting back home is missing. So it can be quite a challenge. Here are some tips and tricks we received from people that have worked from home.

Read our full Guide to effectively work remotely. If you really want to learn from the founders of remote work, please look at GitLab’s guide to All-Remote.

Tips & tricks

Below already some quick tips & tricks from our side:

  1. Get up and dress yourself the same way as if you would go to the office.
  2. Set a clear start and end time for your work day.
  3. Take clear breaks for lunch and dinner. Do not work and eat.
  4. Get out at least once a day for a walk, get some groceries, etc.
  5. Schedule a 25 minute coffee chat with colleagues regularly for some social chat.

What to expect

Our Guide to effectively work remotely describes in much more detail what to expect, but here is a brief summary of what to expect.

A remote workday is different than an office day. You are on your own and it is up to you to get your work done. So expect a great deal of responsibility to get started and finish your work in time.

To make sure you are not overwhelmed, you will have a 1:1 meeting with a manager at least once a week. Daily check-ins via our communication platform are used to ensure you always have an option to tell someone how things are going or if you are stuck with something.

With remote work, it is also less visible to your colleagues what you are up to and what you are working on. That means you need to put in a little extra effort into visisbility of your progress. You can do this by working in shared documents, opening op work items cq. merge requests and keeping progress in these work items / merge requests. Do not underestimate this. It is incredibly important in a remote environment to keep track on your progress on a daily basis.

The 5 principles to make working from home a success:

  1. Treat your workday as a normal office day
  2. Schedule an online coffee chat or take time to meetup during the day
  3. Feeling lonely? Find local remote workers and meet up
  4. Make your progress visible via shared documents, work items or merge requests
  5. Use the communication channels early and often

1.1.1 - Guide to effectively work remotely

The Balean Foundation has people all over the world working together to make impact on ocean sustainability. This requires to put in place procedures and policies to effectively work together.

Since we are a young and dynamic team, we also still need to learn. But why not take the lessons from the established? Many of our remote policy is based on GitLab’s All Remote handbook. This is an iterative process where learn and make changes as necessary.

Important in an all-remote, asynchronous organisation is to have all information available online. Our single source of truth is our online handbook which holds information on how we work and decisions we make. Everyone is allowed and encouraged to make changes to the handbook.

Working from home

Working completely from home is not always easy. During the intake procedure, we always check with individuals if they are able to work from home comfortably. People get the flexibility to work at the times that fits their rhythm best in non-linear work days but we also encourage them to clearly separate work from life.

When you completely work at times that are out-of-sync with your colleagues, it will be a lot harder to collaborate and have meetings together. We strongly encourage people to stay connected with your team through regular meetings and synchronous collaboration via e.g. Slack. If timezones or other situations make it hard or impossible to sync work times within your team, then be very careful to log progress and outcomes for everyone to review.

Since working from home can be lonely sometimes we find it important to have regular check-ins to see and hear how somebody is doing. The goal is to have at least one weekly check-in with the direct manager or company representative and add more check-in meetings when necessary. People are encouraged to read this All remote starter guide.

Communication

Working remotely also brings with it that a lot of communication is asynchronously. We use Slack as the main channel for direct communication. People can at all times send a Slack message. We try to keep Slack and Slack channels as open as possible so everybody is aware of what is going on and everyone can respond to questions. We do ask people to check for and respond to Slack messages on every workday but we never expect people to respond outside working hours.

To keep your colleagues informed on your working schedule, we encourage you to complete your Slack profile. Especially your time zone and regular working hours would be great to see in Slack. You can also set regular working hours in Google Calendars so that when people book a meeting with you, they can see if the meeting is within working hours.

Meetings are a great way to synchronously discuss certain topics are make a decision. If the purpose of a meeting is not clear or a meeting is not really effective, everyone can always ask to clarify the purpose, provide an agenda or ask to cancel the meeting if ineffective. The outcome of a meeting should always be written down. This can be either in a Google Docs document to track meeting minutes or the transcription, or in an online source like the handbook or the documentation site.

Time off

Since there is no office where you can see if people are present, it is important to communicate about your whereabouts. When people take a day off or are away from their keyboard for a longer time (more than an hour), we ask them to set the correct status in Slack so everyone can see this.

Progress tracking

When you work from home, it is a lot harder to share or show what you are working on. Also is it more difficult to sit together and ask questions. We therefore expect people to work in openness and transparency. Work is tracked (mostly) in GitLab through tasks and merge requests. If people work on code, we expect them to commit frequently in order to trigger feedback loops and also to encourage collaboration.

Documents, memos and other office related content is always written directly in our Google Docs workspace, again for visibility, transparency and to encourage collaboration.

To keep it easy and transparent to book meetings and know what people are doing, we strongly ask people to also share there calendars with everyone in the organization. We understand the privacy implications and aren’t making this mandatory but ask you to work fully transparent nonetheless. You can ofcourse set meetings as private to prevent others from seeing the topic.

Well-being

To beat loneliness, we allow people to have informal meetings among each other.

Long hours are not encouraged, neither is working in the weekends. But people can plan their workweek is they see fit, as long as progress is being made.

Working remotely can be a challenge for people. The regular check-in meetings are to detect early signs of remote work burnout.

Although not mandatory, we do offer to schedule regular in-person co-working days, for deeper connection, different topics of conversation and spontaneous discussions. This can help overcome the feeling of loneliness and being excluded.

1.1.2 - Hear from Dana

Dana is board member of the Balean Foundation and is working (partly) from home since 2012.

My Remote Journey: Connecting Across Borders

1. Why did you decide to pick a remote assignment in the first place?

My remote journey actually started long before the rest of the world caught on. Way back in 2012, while working at HP, we were offered a hybrid schedule: two days at home, three in the office. I jumped at the chance. For me, it was a breath of fresh air. It gave me the opportunity to spend more time with my dog, cook healthy meals at home, and take actual, quiet breaks away from the constant buzz of office chatter. It was a huge, incredibly positive shift in my life.

2. What were your expectations upfront?

Honestly, transitioning to working from home wasn’t a strange concept for me. As due to my tech role, I was already used to working “on-call” shifts after hours and during weekends, so my home setup was already good to go. I knew what it felt like to log in from anywhere, so my expectations were simply that I’d get to scale up the lifestyle benefits I had already tasted during my hybrid days.

3. How did you experience working fully remote in the end?

The true shift came after COVID, which evolved into a lifestyle of total geographical freedom. Fully remote work became my passport. It gave me the incredible liberty to travel, move, and explore the world without putting my career on pause.

The most beautiful realization of this setup is my current collaboration with the Balean Foundation. Here I am, working away in Canada, collaborating seamlessly with a team based in the Netherlands. In a traditional 9-to-5 office world, this partnership literally wouldn’t be possible. It’s an amazing example to what remote work can achieve.

4. What did you like about working from home and why?

The biggest gift is the balance you can create in terms of quality of life and flexibility. Back in my hybrid days, my commute was only 15 minutes by bus, so I never hated going to the office…I actually enjoyed the in-person meetings and hanging out with coworkers. But nothing beats the autonomy of a remote day.

I love being with my dog all day!! eating better because I can cook in my own kitchen, and taking truly productive breaks. Instead of pacing an office hallway, I can step outside for a walk, soak up some sunlight, and completely reset. As long as you respect synchronous work, show up for meetings, and hit your deliverables, you can organize your time to build a truly healthy life.

5. What were your biggest challenges and why?

It hasn’t been without its hurdles. First, if you don’t have a quiet, organized space to focus, it can become incredibly stressful. Second, it is shockingly easy to lose track of time. When I’m in a physical office, I’m hyper-aware of the clock because I eventually want to pack up and go home. At home? I frequently find myself working more hours because the boundary isn’t there.

Lastly, you have to manage the people around you who don’t understand the “WFH” concept. I recall during my first year of wfh, my mom used to ask if she could come over and spend the afternoon hanging out with me since I was “at home.” I’d have to say, “Mom, I’m working!”…but it just didn’t seem to click for her at first! :)

6. What are some tips to give to other people when working from home?

  • Establish Firm Boundaries: Set clear limits not just for yourself, but for the family and friends around you so they know when you are locked in.
  • Curate Your Environment: Invest in a clean, quiet, and dedicated workspace. It changes your entire mental state. And of course an excellent Internet
    connection!
  • Break the Monotony: Staying inside the same four walls all day can start to feel repetitive. Force yourself to get out. Go to a library, a local co-working space, or make a strict rule to go for a walk right after you close your laptop to signal the end of the day.

7. Any other thoughts you may want to share.

To me, the ability to choose a remote assignment is one of the greatest gifts of modern work. It allows you to connect with the rest of the world and build a career from literally anywhere on the planet. Embrace it, protect your boundaries, and enjoy the global community it opens up for you!

1.1.3 - Hear from one of our students

For students remote work can be particularly difficult. Here is a great success story.

For the past 20 weeks, I worked remotely on a project for The Balean Foundation. One of the reasons I chose a remote assignment is because it gives you the opportunity to connect and collaborate with people from different places, which I think is really special. It also gives you a lot of freedom in how and where you work.

Especially in a creative project, I really liked that flexibility. Creativity does not always happen at one fixed time or place, so it helped me to be able to switch between working from home, libraries, cafés or school. A big plus was that I could easily plan interviews and feedback sessions with different people because location wasn’t a barrier.

Before the project started, we already had an online introduction meeting to discuss the assignment. That gave me a good first impression of how the communication would work. During the project, we had a weekly meeting to stay aligned, ask questions and discuss progress. For smaller updates, we used Slack, which worked well.

In the end, I experienced remote working as very positive. It gave me a lot of independence and freedom, but also taught me to take ownership of my own planning. That can be a challenge, because when working remote you really have to create your own structure and be proactive in your communication.

My tip for others who are going to work remotely would be to plan regular check-ins, communicate clearly and not be afraid to ask questions. It also helps to create a routine, but at the same time make use of the freedom to work from different places if that helps your focus or creativity.

1.1.4 - Hear from Sander

Sander is co-founder of the Balean Foundation and is working from home since 2022.

I am Sander Brienen, founder of Balean foundation. I live near Nijmegen with my wive, 2 children and a dog. In the passed I worked for GitLab where I experience remote work from the organization who kind of invented it.

During the COVID pandemic, I noticed that I enjoyed remote work a lot and was reluctant going back to the office every day. My remote working days were quite efficient with meetings happening online. Apart from that, I also had the time to go for a walk with the dog during lunch break rather than having to order dog services for that and I had the time to welcome my children from school every day.

I’ve talked a lot with other people on the advantages and disadvantaged of working from home fulltime before I accepted my role at GitLab. Before I started, I thought that I needed more time with colleagues / peers to share thoughts and ideas and a change of scenery. But as I started working for GitLab, I noticed I hardly ever missed going out to meet with peers. The social talk I had online with people was enough to cover for that. So my experience was much better than I initially expected.

I must admit that the working conditions for me are quite optimal: I have a big enough house to have a separate room to work from; I usually have enough people around me to distract me or to chat with when I need to let off some steam or want to share my enthusiasm; I live quite rural so it’s easy to go out and walk in nature.

But there is always some challenges: the transition time between work and private and vv is extremely short. So no time to wind down. This means that I am still busy with work inside my head when I ended my day. It is also too easy to keep going. No colleagues to remind you to take a break, go for lunch or go home. It is via my family that I take regular lunch breaks and stop working in time. Otherwise I would continue going.

So when you work from home, you need to be aware of the biggest challenges: you are the only one to bring routine and force yourself to take enough breaks. If you find yourself in a situation where the environment is not providing you with that, then create one: Meet with friends or other co-workers in a co-working space or elsewhere to force yourself to take regular breaks; schedule an appointment or sport activity at the end of your working day (not too late) to force yourself to stop in time; put lunch breaks and coffee breaks in your calendar with a reminder to remind you to take it; schedule coffee chats with other people, co-workers, etc to have a social talk between your other meetings or as a change to your regular working rhythm.

Working from home is really great, gives you a lot of flexibility, generates extra time that you otherwise waste with traveling and is very sustainable as well. But make sure you have the right working conditions or create them for you. Discuss with your employer about possibilities for claiming expenses. There is often many options available.

2 - IT

Documentation of IT Systems and procedures

2.1 - Domain management

Everything about domains, DNS and external tools using our domains

DNS

Managed domains

Balean manages the following domains:

  • www.balean.org: Balean production environment
  • api.balean.org: Balean production backend environment
  • balean-app-*.balean.org and api-test-*.balean.org: Test URLS
  • newsletter.balean.org: Domain for sending the newsletter and domain used to send newsletter emails
  • balean.org: Email domain

DNS Entries explained

NOTE: It is important to keep DNS entries clean. Unused DNS entries should be removed as soon as possible to avoid abuse.

The following 3rd party organizations use the balean.org email domain to send emails from:

  • Google Mail:
    • TXT Records:
      • spf
      • google._domainkey -> dkim
      • _dmarc & _dmarc.balean.org
  • Google Workspace Domain ownership:
    • CNAME Records:
      • gv-*.googlehosted.com
      • _domainconnect
    • TXT Records:
      • google-site-verification
  • Beehiiv:
    • CNAME Records:
      • sendgrid.net
      • branded-link.beehiiv.com
      • *._domainkey -> *.sendgrid.net
      • em* -> *.sendgrid.net
      • newsletter -> cname.beehiiv.com
    • TXT Records:
      • _beehiiv-authentication-*
  • Atlassian Cloud
    • CNAME Records:
      • atlassian-bounces
      • atlassian-*._domainkey -> dkim.atlassian.net
    • TXT Records:
      • atlassian-sending-domain-verification
      • atlassian-domain-verification

Email

Balean uses Google Workspace to send emails for personal use. The newsletter is send by Beehiiv via Sendgrid. Atlassian is sending notification emails through our domain.

DMARC

DMARC is a security mechanism for emails and is used to detect unauthorized or insecure usage of the email domains we own. Especially when using external tools to send emails on your behalf, it is important to set the correct DNS entries to allow the use of an email domain.

DMARC is configured for the balean.org email domain. DMARC reports are being send to dmarc-reports [at] balean.org. All emails to that email address are being forwarded to the DMARC Reporting Gitlab project. This project will generate a web-based report form all DMARC Report emails, which can be found on the Gitlab Pages URL of that project.

The DMARC reporting tool contains both an explanation page as well as a troubleshooting page.

DMARC Policy

DMARC policies explained:

Policy Setting Impact Use Case
p none Monitor only: No enforcement. All emails are delivered, but reports are sent. Start here to analyze senders before enforcing.
p quarantine Send to spam/junk: Emails failing DMARC are quarantined (not delivered to inbox). Test enforcement without blocking emails.
p reject Block entirely: Emails failing DMARC are rejected at the SMTP level (bounced). Full enforcement for domains with confirmed legitimate senders.
pct 1-100 Percentage of emails to apply the policy to (e.g., pct=50 applies p= to 50% of emails). Gradually roll out enforcement (e.g., start with pct=10).
rua Email address Aggregate reports: Where to send XML reports (e.g., rua=mailto:reports@balean.org). Required to receive DMARC reports.
ruf Email address Forensic reports: Where to send failure details (e.g., ruf=mailto:forensic@balean.org). Optional; provides details on individual failures (may include sensitive data).
adkim r (relaxed) DKIM alignment: Domain in DKIM signature can be a subdomain of the From: domain. Default; easier to implement.
adkim s (strict) DKIM alignment: Domain in DKIM signature must match the From: domain exactly. Stricter security; use if you control all subdomains.
aspf r (relaxed) SPF alignment: SPF domain can be a subdomain of the From: domain. Default; easier to implement.
aspf s (strict) SPF alignment: SPF domain must match the From: domain exactly. Stricter security; use if you control all subdomains.

DMARC policy was set to Monitoring (p=none) to start with.

Policy enforcement plan:

Action Planned date Actial date Outcome
DMARC configured (p=none) 14 August 2025 14 August 2025 A few failed reports in August but limited.
Move to p=quarantine 4 sept 2026 19 sept 2026
Move to p=reject 4 okt 2026

Changes:

  1. DNS Entries on 14 aug. 2025:
    • _dmarc: v=DMARC1; p=none; rua=mailto:dmarc-reports@balean.org
    • SPF: v=spf1 include:_spf.google.com ~all
  2. DNS Entries on 19 sept. 2026:
    • _dmarc: v=DMARC1; p=quarantine; rua=mailto:dmarc-reports+aggregate@balean.org; ruf=mailto:dmarc-reports+failure@balean.org; fo=0:1:d:s; pct=25; adkim=r; aspf=r
    • SPF for balean.org: v=spf1 include:_spf.google.com include:sendgrid.net include:mail.atlassian.net include:spf.beehiiv.com include:_spf.e-boekhouden.nl ~all
    • SPF for sbsc.nl: v=spf1 include:_spf.google.com include:_spf.e-boekhouden.nl ~all

DMARC troubleshooting

When you discover violations in your DMARC reports, then consider turning on verbose DMARC reporting. The rua setting in the DMARC DNS entry enables aggregate reports but with the ruf setting, you can turn on forensic reports which are much more elaborate but also very noisy. So only turn them on temporarily.

Reporting email abuse

If you find that an unknown ip-address is spoofing your domain, report it to the ip-address owner by sending an email to the IP’s abuse contact (e.g., abuse@aws.amazon.com for AWS).

2.2 - Tech stack

The Balean technology stack

Office applications

Application Usage Stores personal data Audience
Slack Internal communication Yes, work email address, name, messages between members Internal only
Google Workspace Email, calendar and office suit Yes, Name, private and work email address Internal only
GitLab Issue tracking and code repositories Yes, work email address, name (optional) Internal only (public access is via existing gitlab accounts, not managed by us)
e-boekhouden Bookkeeping software No, only business data Internal only
Discord Community communication platform No, only uses existing accounts not managed by us Public
Digidentity Identification for dutch government Yes, only of executives for authentication Internal only
GenQRCode Free QR Code Generator No Internal only
Canva Social media content design Yes, work email address and name Internal only
Beehiiv Newsletter platform Yes, peoples email address with consent to send newsletters to Public
Atlassian Loom / Jira / Confluence Yes, work email Internal only

Development

Application Usage Stores personal data Audience
Google Cloud Cloud infra No Internal only
Thalassa Cloud Cloud infra No Internal only
GitLab Pages Hosting of static sites No Internal only
Termly Cookie consent and term & conditions generation No Internal only
rubygems.org Public Ruby gems repository to store Balean Gems No Internal only
SquareSpace DNS Registration and management No Internal only
Draw.io Drawing diagrams for our documentation No Internal only
Figma Sketching and wireframes Yes, work email Internal only
Intractive Design tool for interactive stories Yes, work email Internal only

3 - Finance

The handbook for everything finance.

The task of finance is to handle all financial transaction, tax payments as well as payments to employees, interns and volunteers.

Find all procedures and policies around finance in this section of the handbook.

Bookkeeping

For bookkeeping, we use e-boekhouden.nl. Documentation on how to use the application, how to book certain invoices or documents and what bookkeeping accounts are in use, can be found in our Drive.

Also, the bookkeeping accounts used for payrolling are listed in this document.

3.1 - Payroll

This pages describes procedures to pay out salaries or reimbursements for volunteers, interns, and employees.

Volunteers

The Balean Foundation cannot exist with our valuable volunteers! Although volunteers typically do work for an organisation for free, their are circumstances in which a volunteer can still receive money to reimburse for any expenses or as an allowance for the work they do for the organisation.

Balean is non-profit and 100% dependable on donations. We try to keep our cost as low as possible so we can spend as much as possible on scaling the platform. Therefore, we can only pay an allowance and expenses in certain circumstances and maximized to what is allowed by the Dutch law. You can send an email to volunteer at balean dot org if you want to know more.

As a volunteer, please also read our community handbook for more information about our volunteering program and our code of conduct.

Volunteering allowance and expenses

Volunteers can get a monthly allowance under certain circumstances, as well as reimbursements of cost they made. The total amount received per hour, month and year are limited by Dutch law. See the Dutch tax services website for detailed information. Balean will not pay out more than the maximum amount allowed by the Dutch government to any volunteer, even if local rules are different.

It is important to note that one person can only receive a maximum amount of volunteering allowance for ALL volunteering work they do. If you do volunteering work for more than one organisation, it is the responsibility of the volunteer to keep proper administration and add these amounts to income tax applications. Please check the above link of the Dutch tax service or check with your local tax services.

Please note that these rules apply for everyone who files income tax returns in the Netherlands. If you live in another country other rules and laws may apply. Verify with local tax services for the local rules.

Volunteering allowance receipt

If you want to receive an overview of allowances paid to you, please send an email to volunteer at balean dot org.

Employees and interns

New employee

New employees that are paid a salary or allowance and that will receive a payslip, need to be registered with our payroll office.

In order to collect all necessary information, each employee need to fill in an employeeform (Werknemersformulier). New employees will get the link to this form before the first day of employment. As part of the form, employees need to upload a valid copy of their photo ID.

Every employee is also required to fill in a ‘statement of data for payroll taxes’ or ‘payroll tax statement’ (Loonbelastingverklaring). The template for this document can be downloaded from the website of the Dutch tax services.

Payroll payments and payslip

All payroll payments are made around the 24th of each month. Around that time, the payslip will become available as well.

For payslips, we use Nmbrs. Nmbrs also has a mobile app, which can be downloaded from the Nmbrs website or app stores.

It is the employee responsibility to read and verify the payslip on errors. If you see any error or issue, report this immediately to finance at sbsc dot nl.

Balean internal procedures

Bookkeeping of volunteering allowance

Volunteering allowances are booked under a specific bookkeeping account. To distinguish between volunteers, a cost centre is created for every volunteer who receives an allowance. Allowances paid need to be booked against that cost centre.

NOTE in order to make it easier to generate a receipt, use the exact name that needs to show on the receipt as the name of the cost centre.

When an allowances overview is requested, an export needs to be made of the specific cost centre and send to the volunteer as a PDF with Balean layout and signature.

Creating a volunteering allowance receipt

If a volunteer requests a volunteering allowance receipt, then follow the steps below to create a PDF. Send the PDF to the volunteer in question via email.

  1. Login to e-boekhouden for the Balean Foundation
  2. Go to cost centres and select the function per cost centre.
  3. Select the year for which you want to generate a receipt and the cost centre of the volunteer.
  4. Click continue to load the amounts paid and then click on csv to download the payments.
  5. Use the volunteering allowance template sheet (internal only) to create the receipt.
    1. On the tab cost centre export, click on file -> import.
    2. Under Upload select the local csv file that you downloaded from e-boekhouden.
    3. For Import location select Replace current sheet.
    4. Click Import data.
    5. Go to the tab Receipt and check the data.
    6. Export the PDF via File -> Download -> PDF
    7. Make sure to set the following options when exporting:
      • Paper size: A4
      • Page orientation: Portrait
      • Margins: Wide
      • Formatting: Disable Show gridlines and Show notes

Registering a new employee for payrolling

In order to process payroll for new employees, the following tasks must have been executed:

  1. Send an email to the new employee, asking them to fill in the employeeform.
    1. Employeeform (Internal Drive link).
  2. After receiving the employeeform, prefill the payroll tax statement and the payroll office employee form (Aanmeldingsformulier werknemer of PH&A) with the employee data and send them via email for a signature. The payroll tax statement is already a PDF that you can fill in and save as PDF. The payroll office employee registration form is a spreadsheet that needs to be saved as PDF for the employee to sign. In both cases the employee need to sign for the choice to have payroll tax reduction applied or not.
    1. Statement of data for payroll taxes form
    2. PH&A specific ‘Aanmeldingsformulier werknemer’ (internal link)
  3. Send an email to PH&A Salaris via info at phasalaris dot nl with the following documents:
    1. Signed copy of the PH&A specific ‘Aanmeldingsformulier werknemer’
    2. Signed copy of the payroll tax statement form
    3. Copy of photo ID of the employee

Payroll bookkeeping

Each month, the following tasks must be reviewed:

  1. Pay the net salary that is listed on the employee payslip
  2. Make the payslip available to the employee via Nmbrs
  3. When the payroll tax is calculated and made available by the payroll office, pay the tax via Nmbrs
  4. Book the following in the bookkeeping software:
    1. Net salary paid via bank - use the payslip as bookkeeping proof
    2. Payroll tax paid via bank - use the payroll tax document as bookkeeping proof
    3. Post payroll journal entries from the journal entries overview in Nmbrs - Use the journal entries PDF export as bookkeeping proof for the entry

3.2 -

Donation bookkeeping

The Balean platform is all about funding and donations. When donations have been made on a specific project for a specific organization, then Balean will mark this donation as such and pay out accordingly. Organizations are obliged to spend the money on the project that the donation was made for.

Donations are payed on a quarterly bases over the past quarter. To keep transaction cost at bay, we only pay out when the total amount due is € 50,- or more.

When people make donations, two scenarios may apply: direct donations to Balean or a donation to a project on the platform.

For direct donations, the amount donated is directly available to Balean to pay operational cost.

With donations to a project on the platform, a single donation can consist of the following items:

  1. The actual donation to the project
  2. An optional tip for the Balean Foundation
  3. An optional reimbursement for Balean in the transaction cost.

Our bookkeeping should make it crystal clear which many is donated for what purpose.

Bookkeeping ledger accounts

To keep track on where the money goes, the following ledger accounts have been created:

  1. Bank account - for all bank transactions
  2. Stripe Clearing account - for all Stripe transactions
  3. Donations Payable balance account - For donations to which a claim is entitled
  4. Transaction cost reimbursement balance account - For reimbursement payments and the payments on transaction costs
  5. Payment Processing Costs - For all Stripe transaction fee invoices and bank account costs
  6. Revenue via Balean Platform profit/loss account - For all direct donations to Balean and the Balean tips

Booking Stripe Transactions in Bookkeeping

To make the bookkeeping as clear and concise as possible, all transactions via Stripe will be booked in our bookkeeping software.

When a donation is made to Stripe, the transaction must be booked in the following way:

  1. Enter a booking via “Afschrift/bonnetjes”
  2. Choose “Payment received” (“Geld ontvangen”) as booking type
  3. Choose the Stripe Clearing Account
  4. Select the date of the transaction and put as description: Payment ID: <Stripe payment ID> (can be found on the transaction details).
  5. Then add lines for the following entries:
    • For direct donations to Balean: add the amount and Revenue via Balean Platform ledger account. Set the description to: Direct sponsoring
    • For donations to internal projects: add the amount and Revenue via Balean Platform ledger account. Add the correct cost center for the internal project.
    • For donations to external projects: add the amount and Donations Payable ledger account. Add the correct cost center for the internal project.
    • For tips for Balean: add the amount and Revenue via Balean Platform ledger account. Set the description to: Tip for Balean
    • For transaction costs: add the amount and Transaction cost reimbursement ledger account.
  6. Save the booking

NOTE some transactions may be split into 3 different lines for the donation, tip and transaction fee.

Validate Stripe vs. Bookkeeping

To validate if all transactions in Stripe are actually booked, you can compare the following:

  1. From the Stripe dashboard, open the Transaction overview.
  2. From e-boekhouden:
    • Go to overview (Overzichten) and the Mutations (Mutaties)
    • In the search filter, select “Geld ontvangen” for booking type
    • Optionally add “Payment ID” as description
    • Check the box at “Uitgebreid zoeken” and click search.

Export donation balance sheet

We use Stripe as the platform to handle payments. We pay out donations from Stripe to our bank account before we pay them to the organizations to which the money is entitled. To keep track of the money, we need a balance sheet to back the Stripe transaction.

Download the balance sheet from Stripe:

  1. In the Stripe dashboard, go to transactions
  2. Click on Export
  3. Select a custom date range that matches the range of the previous export
  4. Select the following columns: ID, Amount, Fee, Created date (UTC), Currency
  5. After clicking Export the file is generated and then downloaded.

Load it into Google Sheets:

  1. Open the finance spreadsheet
  2. Create a new tab
  3. Rename the new tab to have the date of the recent export.
  4. Import the data from the exported stripe csv in the current sheet
  5. Add the following columns based on the Payload backend:
    • Donation - Main amount donated
    • Balean projects - Copy from previous column if it was a Balean internal project
    • Balean donation - Main amount donated directly to Balean
    • Tip - Tip for Balean
    • Transaction_cost - Transaction cost reimbursement donation
    • Total - The sum of the colums Donation, Balean donation, Tip and Transaction_cost
    • Project - The name of the project as listed in Payload
  6. For each of the following columns, add a “SUM” row at the bottom: Amount, Fee, Donation, Balean projects, Balean donation, Tip, Transaction_costandTotal`.
  7. Copy the 9 rows below the balance sheet table (the totals and calculation fields) to the new sheet and adjust the calculations as follows:
    • Donations Payable: Total of Donation -/- Total of Balean projects
    • Balean direct sponsoring: Total of Balean donation + Total of Tip
    • Balean project sponsoring: Total of Balean projects
    • Transaction cost: -(Total of Fee)
    • Transaction cost reimbursements: Total of Transaction_cost
    • Revenue via Balean Platform: Total of Balean projects + Total of Balean donation+ Total ofTip`
    • Amount on bankaccount: Total of Amount -/- Total of Fee
    • The list of projects are calculated based on the Project column and the Donation column with the formula SUMIF(Project_range; "="&prev_cell;Donation_range)
  8. Checks to perform on the sheet:
    • The Transaction cost line should be a negative number and the total of all Stripe invoices of the same period.
    • The total of the Stripe payout (Amount on bankaccount) is Donations Payable + Transaction cost + Transaction cost reimbursements + Revenue via Balean Platform.
    • The total Amount from Stripe export should equal: Donations Payable + Transaction cost reimbursements + Revenue via Balean Platform
    • The Revenue via Balean Platform should equal: Balean direct sponsoring + Balean project sponsoring
  9. Save the sheet as PDF to use in bookkeeping.

Booking the Stripe payout in Bookkeeping

When you create a payout from Stripe to the bank account, the transaction must be booked into the books. When Stripe pays out an amount, it means that the money transfers from the Stripe Clearing Account to the Bank Account. This is not a direct booking but needs to go through cross-entries. See this manual for instructions.

Transaction costs

Stripe deducts transaction fees from the payouts. Stripe then sends an invoice for these fees. Apart from the Stripe fees for each payment via the platform, the bank also charges fees for each transaction we pay.

To properly book this, do the following:

  1. Book the Stripe invoice as a regular invoice. Book the fees under Payment Processing Costs
  2. To book the open invoice, go to “Afschift/bonnetjes” and choose “Invoice payment sent” as the booking type. Then book the Stripe invoice against the Stripe Clearing Account, since the fees are paid directly from that account.
  3. When bank costs are deducted from the bank account, book that transaction also under Payment Processing Costs.
  4. When costs have been booked, book a memorial booking from Transaction cost reimbursement to Payment Processing Costs to balance out the costs and reimburse it.

Payout donations

When paying donations to the account receivable, a donation overview document must be created and attached to the transaction. Donations are not booked against Accounts Receivable but are booked directly against Donations Payable.

Creating a donation overview document via e-boekhouden

  1. Each transaction is booked on a cost center. To create a donation overview document, go to the cost center for the project, select the period and download the CSV.
  2. Import the CSV file into the “Cost centre export” tab of this spreadsheet.
    • Make sure that the project and organisation details are properly filled in on the “Projects” tab. This will then automatically fill in the correct data in the “Receipt” tab.
  3. Transfer the money by bank to the organization. Use the project name for which the donation was made and the reference number from the spreadsheet above. Link the payment to the cost center of the project.
    • The reference number is the combination of the Relation ID in e-boekhouden and a counter that is increased by one after each payout.
  4. When all details are correct, download the receipt PDF via File -> Download.
    1. Sent the receipt PDF to the organisation that receives the donation.
    2. Link the exported receipt to the transaction in bookkeeping (See next step).
    3. Increase the “Transaction ID” field on the “Projects” tab in the spreadsheet by one.
  5. When the bank transaction is visible in the bookkeeping software, book it as follows:
    • Select Money spend (Geld uitgegeven) as the type
    • Use the receipt reference number for the booking description
    • Book the entire amount against Donations Payable

4 - Customer Relations Management

Handbook to describe CRM policies and guidelines.

At Balean, we use GitLab to manage organisations and contacts in GitLab’s CRM. This CRM is basic and simple but also part of the toolset we are already using. Matching our policy to use existing tools as much as possible, GitLab is the tool of choice for now, until we need something more sophisticated.

CRM Setup

The setup is very simple. Organisations and contacts are managed at group level in GitLab’s CRM so there is one group for Balean and one group for SBSC to be used as the CRM. For both these groups, the CRM featured is enabled in the group settings.

Opportunities are then created as issues in a project underneath those CRM groups: sales for SBSC and partners for Balean.

Organisation details are added in an epic per organisation.

Add new organisation

Organisations are not just added as a customer relation in GitLab, but also as an Epic in order to be able to store contract information and status information for the customer. The organisation as a customer relation only holds very limited information.

To add a new organisation, go to the group in GitLab that contains the CRM. Then navigate to Plan --> Customer relations in the sidebar.

Once in the customer relations, click on Organizations in the top right, just above the search bar. Now you can click on the New organization button. Fill in the fields for the organization and add it.

Once the organisation is added, also create an Epic in the same group as where Customer relations are enabled. Navigate to Plan --> Epics and click on New Epic. Use the organization name, prefixed with Organization: as the name of the Epic.

In the epic you can add links to:

  1. Links to contracts, NDA’s and other documents
  2. Important agreements with a customer
  3. Customer status (as labels)
  4. Status of negotiations
  5. Other information important to store for a customer

Add contacts to an organization

To add contacts, make sure to navigate to the Customer relations section (See above under Add new organisation).

When you are in the Contacts section, you can click the button New contact just above the search bar, otherwise, click on Contacts first. Then fill in the details for the contact and add it.

Add contact to an issue

At the moment, you can not add contacts to issues via the UI. You can only do this via QuickActions.

To add a contact, go to an issue underneath the group that has customer relations enabled. On the issue add a new comment with the following text:

/add_contacts [contact:address@example.com]

Be careful to remove any spaces at the start of the line!

Post the comment and the contact will be added to the issue.

Please not the following limitations:

  1. You cannot add contacts to epics, only to issues.
  2. You cannot add organisations to epics or issues, just contacts.
  3. All customers are also added to our bookkeeping software so no need to store addresses and such in GitLab unless it is information that is important or convenient to (also) store in GitLab.