Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 25 additions & 0 deletions crowdfund/application.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: Application process
sidebar_position: 2
---

Ambassadors and locals organizers can request crowdfund support by emailing
[operations@graphql.org][]. The email should contain:

- The purpose of the request.
- An estimate of the amounts needed (for example travel and accommodation
amounts) in US Dollars.
- Their full legal name.
- Their mailing address.
- Their preferred email address.

If the request is approved, someone from the Linux Foundation will add you as a
beneficiary to the crowdfund platform, and you will be invited to create an
account on Expensify - you should do so promptly. You should also be informed
which email addresses you should include in the `CC` when filing any reports -
if you were not told this, please ask.

Once all costs are incurred and all receipts are available for a single request,
a report should be created following the [filing process](/crowdfund/filing).

[operations@graphql.org]: mailto:operations@graphql.org
85 changes: 85 additions & 0 deletions crowdfund/filing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
title: Filing process
sidebar_position: 3
---

If you do not yet have access to expensify, please complete the
[application process](/crowdfund/application) first.

## Terminology

### Report

**A "report" is a claim for refund.**

For a single event (e.g. a Local, a Conference, etc), exactly **ONE REPORT**
should be filed. The report should be itemized - each individual expense should
be entered as **separate receipts** within the **same report**.

> [!DANGER] Do NOT combine multiple receipts into a single PDF - keep them
> separate.

### Receipts

**A "receipt" is a single scanned document from a vendor showing an amount paid
related to a report.**

Each report may have more than one receipt.

The amounts in each receipt must match exactly the amount entered.

An expense cannot be claimed without a receipt.

## Creating a report

Log in to Expensify.

Create a basic report:

- **Department**: LFX

Then move on to adding expenses:

## Adding expenses

Each receipt should have its own expense entry (on the **same** report).

Here's some guidance on the inputs:

- **Currency**: match the currency of the receipt.
- **Description**: The descriptions will be rendered publicly, but are
truncated, thus please prefix them with the most important info, e.g.:
- Report name: `(London) April 26 GraphQL Local`
- Receipt name: `(London) Pizzas`
- Receipt name: `(London) Drinks`
- Receipt name: `(London) Stickers`
- Report name: `(Ambassador) Amsterdam GraphQL Day`
- Receipt name: `(Ambassador) Outbound travel`
- Receipt name: `(Ambassador) 2 nights hotel stay`
- Receipt name: `(Ambassador) Return travel`
- Receipt name: `(Ambassador) Stickers`
- **Project**: "graphql" (**NOT** "GraphiQL")
- **Category**: whatever seems right to you. For flyers/stickers/swag use
"Marketing". For GraphQL Locals if in doubt use "Meetups".

## Submitting your request

1. Go to Settings > Account > Wallet and make sure you have linked a bank
account.
2. Submit the report to LFX:
- **CC**: be sure to include the list of email addresses you were given to CC
during the application process, or request that list if you do not have it.
- **Memo**: Same as description (e.g. "(Ambassador) Amsterdam GraphQL Day")

## Getting paid

Once a report is submitted, it will be validated by a member of the Linux
Foundation team. Unless added to the CC explicitly, the GraphQL Foundation
currently have no visibility into this process.

Allow 30 days for payment to clear, longer in certain territories. If after 35
days still no updates, applicant should use the "support" feature (modal?)
available from the report they have created through Expensify; this message will
then route to an admin to figure out why it went wrong. The GraphQL Foundation
can only offer limited help here, feel free to keep us in the loop but your
support requests should go through expensify.
20 changes: 20 additions & 0 deletions crowdfund/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Crowdfund
sidebar_position: 1
---

The [GraphQL Crowdfund](https://fund.graphql.org/) can be found at
https://fund.graphql.org

The crowdfund is shared across a number of GraphQL Foundation initiatives
including the Ambassador and Locals programs, and is funded by the GraphQL
Foundation and other supportive individuals and organizations from the GraphQL
Community.

Since the crowdfund has a very limited budget, we ask that you're respectful of
the limited resources, help us to leverage them wisely, and always ask your
employer or other local companies for support before requesting from the shared
pot.

To apply for funding, complete the
[application process](/crowdfund/application).
1 change: 1 addition & 0 deletions docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ const config: Config = {
docs("wg"),
docs("tsc"),
docs("grants"),
docs("crowdfund"),
],

themeConfig: {
Expand Down
7 changes: 7 additions & 0 deletions sidebars.crowdfund.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import type { SidebarsConfig } from "@docusaurus/plugin-content-docs";

const sidebars: SidebarsConfig = {
docs: [{ type: "autogenerated", dirName: "." }],
};

export default sidebars;
10 changes: 6 additions & 4 deletions src/pages/index.module.css
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,18 @@
}

.overviewGrid {
display: grid;
display: flex;
gap: 2rem;
grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr));
flex-wrap: wrap;
margin-bottom: 2.5rem;
align-items: start;
align-items: stretch;
justify-content: space-around;
}

.handbookCard {
flex: 1 0 22rem;
max-width: 30rem;
display: flex;
height: 100%;
flex-direction: column;
border: 2px solid #e10098;
border-radius: 15px;
Expand Down
11 changes: 11 additions & 0 deletions src/pages/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,17 @@ export default function Home(): ReactNode {
releases and coordinating between projects.
</p>
</Handbook>
<Handbook
title="Crowdfund"
url="/crowdfund"
linkText="Crowdfund Handbook"
>
<p>
The GraphQL Foundation supports many of its initiatives
through crowdfunding. Find out how to contribute to the fund,
and how to claim from it.
</p>
</Handbook>
</div>
<div className={styles.programsCard}>
<h3>💡 Community-maintained </h3>
Expand Down
Loading