Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document our Invoices and Contracts airtable #698

Merged
merged 4 commits into from
Apr 4, 2023
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
63 changes: 55 additions & 8 deletions administration/airtable.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
(accounts:airtable)=
# AirTable accounts

We use AirTable to track some of our leads, contracts, and invoicing data.
Expand All @@ -17,16 +18,62 @@ Here's how to do so:
% eventually, we'll need to pay for more than one account.
2. **Log in to the account**. Once you do so, you'll have access to the **AirTable bases** under this workspace.

## Base: Invoicing data from CS&S
The rest of this page describes an overview of AirTable's structure in general.

Our [`Invoices` base](https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8/viwfuamzW4kbaQSSJ) has a record of **every invoice that CS&S has for 2i2c**.
This includes anticipated future invoices and grants.
## Bases

See **the Base Guide** for more information by clicking on the ℹ️ button.
A base is the highest unit of organization in AirTable.
They are generally categorized by a broad topic that might have a number of related datasets inside.

## Base: Contracts data from CS&S
For example, we have [an accounting AirTable base](accounting:statements) that contains several tables with information about our incoming and outgoing funds and contracts.

Our [`Contracts` base](https://airtable.com/appbjBTRIbgRiElkr/tbliwB70vYg3hlkb1/viwWPJhcFbXUJZUO6) has a record of **every contract that CS&S has for 2i2c**.
Each invoice should be attached to a contract.
Each base has three types of elements in it: **data**, **automations**, and **interfaces**.
Each is described below.

See **the Base Guide** for more information by clicking on the ℹ️ button.
### Data

Contain tabular datasets that make up the content in a base.
These are kind of like **databases**, in the sense that they have typed columns, and each row represents a single "record" within that table.

A base usually has **many tables of data**, and these can then be interlinked with one another.

For example, we have [our Contracts table](https://airtable.com/appbjBTRIbgRiElkr/tbliwB70vYg3hlkb1/viwOWxGxMBVmJFwiC) as well as [our Invoices table](https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8/viwNA9Z2UhSchcuvA) in the same base.
This lets us link records in `Invoices` with those in `Contracts` based on a unique ID in each.

#### Views

Views are ways to filter, group, and subset your data for visualizing purposes.
They do not change the underlying dataset, they merely provide a way to look at it a different way.
For example, our [Invoices table](https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8) has two views:

- [**Incoming**](https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8/viwfuamzW4kbaQSSJ) to only show invoices that are for revenue.
- [**Outgoing**](https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8/viwNA9Z2UhSchcuvA) to only show invoices that are for costs.

#### URL structure

The URL structure of data generally looks like this:

```
https://airtable.com/< BASE ID >/< TABLE ID >/< VIEW ID >
```

### Automations

Allow us to perform certain actions on a schedule or repeated after a certain condition.

For example, we have [a Link Invoices automation](https://airtable.com/appbjBTRIbgRiElkr/wflPVmcmuMb38DYIW/wtr3oTLWhTJoVns8d) that automatically links new records of Invoices with their respective Contract every hour.

### Interfaces

Are dashboards that provide quick and visual summaries of the tables in a base.
For example, we have [a Monthly Invoices dashboard](contracts:dashboards) that summarizes major financial invoicing and contracts activity each month.

### Example screenshot

Below you can see an example of the **Accounting base**, with the three major sections for **Data**, **Automations**, and **Interfaces** at the top.

Below these, you see **multiple tables** corresponding to different kinds of data (Contracts and Invoices, for example).

For the active table, we can see **multiple views** of that table to the left, corresponding to different subsets of data.

![Major sections of AirTable](../images/airtable-major-sections.png)
49 changes: 13 additions & 36 deletions finance/accounting.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Accounting information
# Accounting data

Accounting information describes the money that we **know** we have spent or that we **highly expect** to receive.
Accounting data describes the money that we **know** we have spent or that we **highly expect** to receive.
There are a few kinds of accounting data we have access to:

All 2i2c-specific accounting documents should be accessible on our Team Drive to anybody with a `@2i2c.org` address.
Expand All @@ -14,32 +14,22 @@ We split our financial and accounting data between two places:

See these subsections below for more information about accounting data.

(accounting:dashboard)=
## Accounting dashboard

We have a Sphinx page that summarizes important accounting information for us.
It is generated from the [CS&S accounting statements](accounting:statements) that we get monthly.
You can find this website at the following location:

```{button-link} https://2i2c.org/kpis/finances/#accounting-tables
:color: primary
Accounting tables
```

(accounting:statements)=
## All transactions

{term}`CS&S` provides us a monthly table of all our accounting transactions.
They are placed in a the Shared CS&S Google Drive folder.
These are the source of truth for our revenue and costs.
They are placed in the Shared CS&S Google Drive folder.
**The CS&S accounting tables are the source of truth for our revenue and costs.**
See [](accounting-statement-overview.md) for more information about these sheets.

```{toctree}
:hidden:
accounting-statement-overview.md
```

We clean up and mirror these transactions in the following AirTable in order to create [our accounting dashboard](accounting:dashboard).
We clean up and mirror these transactions in an [**Accounting Transactions AirTable**](https://airtable.com/appbjBTRIbgRiElkr/tblDKGQFU0iEIa5Qb/viwAdsIgMwbqKDdZ0).
We use this to create [our accounting dashboard](accounting:dashboard).
See [](../administration/airtable.md) for how to access AirTable.

```{button-link} https://airtable.com/appbjBTRIbgRiElkr/tblDKGQFU0iEIa5Qb/viwAdsIgMwbqKDdZ0
Expand All @@ -48,28 +38,15 @@ See [](../administration/airtable.md) for how to access AirTable.
All Transactions AirTable
```

## Invoices

{term}`CS&S` tracks all of our invoices in an AirTable.
We synchronize this AirTable to our own in the link below.

This table is a source of truth for who we have billed, and whether they have paid.

```{button-link} https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8/viwfuamzW4kbaQSSJ
:color: primary

Invoices AirTable
```

## Active contracts

{term}`CS&S` tracks all of our active contracts in an AirTable.
We synchronize this AirTable to our own in the link below.
(accounting:dashboard)=
## Accounting summary dashboard

This table is a source of truth for the contracts and obligations we have with other communities, including contact information and the total amount of the contract.
We have a Sphinx page that summarizes important accounting information for us.
It is generated from the [CS&S accounting statements](accounting:statements) that we get monthly.
You can find this website at the following location:

```{button-link} https://airtable.com/appbjBTRIbgRiElkr/tbliwB70vYg3hlkb1/viwWPJhcFbXUJZUO6
```{button-link} https://2i2c.org/kpis/finances/#accounting-tables
:color: primary

Active Contracts AirTable
Accounting tables
```
79 changes: 79 additions & 0 deletions finance/contracts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Contracts, grants, and invoices

A **contract** defines our formal relationship with any external organizations or people.
We use **invoices** to exchange funds (incoming and outgoing) that are related to contracts.
This section describes where you can find information about our active and past contracts and invoices.

## Grant folders

We use [the 2i2c Team Drive -> `Finances and Accounting -> Grants` folder](https://drive.google.com/drive/folders/1VvER_SxLDKjDYwfXYyEbPX9GN7YlsNpT?usp=sharing) to keep track of any materials related to a grant we are applying for or have received. We use that same folder to track all of our preparations and materials for grants that we are applying for.

- The [**Active and In Progress**](https://drive.google.com/drive/folders/1Mgio3WQfpXkuuy_i--ioY_9XHIff4cQe?usp=share_link) folder contains any grant that we've received, or that are in the middle of applying for.
- The [**Rejected and Not Submitted**](https://drive.google.com/drive/folders/1BqCYoOvDrkv_f5eYbbrkP_3sHv2M6i7b?usp=share_link) folder contains any grant that we applied for and did not get, or that we started but did not finish.
- The [**Completed**](https://drive.google.com/drive/folders/1BALUGZh2x_LsQuBSMXAfxeryeP9bMleD?usp=share_link) folder contains any grant that we received and have now completed such that no action is needed.

(contracts:active)=
## Active contracts

{term}`CS&S` tracks all of our contracts in an [AirTable](accounts:airtable).
We synchronize this AirTable to our own in the link below, and generate [dashboards to summarize important data](contracts:dashboards).

This table includes both **service contracts** and **grants**.
Each row in this table is a single contract.
Each column is a piece of metadata about that contract.
There may be multiple contracts (rows) for a single community, representing different periods of time that a contract was active.

```{button-link} https://airtable.com/appbjBTRIbgRiElkr/tbliwB70vYg3hlkb1/viwWPJhcFbXUJZUO6
:color: primary

Contracts AirTable
```

### Linked `Invoices` column

Each contract has a list of the invoices that have been billed against it in the **`Invoices`** column.
This list of invoices is in the `Invoices` column.
See below for more context on how we use this.

### `Service Type` column

We have one custom column that we add to the CS&S data, to represent the _type of service attached to a contract_.
For example, whether a contract is for a _research hub_ or an _educational hub_.
The specific categories are still in flux but the goal is to help us break down where our revenue is coming from in [our invoices dashboards](contracts:dashboards).

(contracts:invoices)=
## Invoices

{term}`CS&S` tracks all of our invoices in an AirTable.
We synchronize this AirTable to our own in the link below, and generate [dashboards to summarize important data](contracts:dashboards).

Each row represents a single invoice.
Each column represents metadata about that invoice (for example, the `Type` column encodes whether it is an incoming (`ACCREC`) or outgoing (`ACCPAY`) invoice.

```{button-link} https://airtable.com/appbjBTRIbgRiElkr/tblkmferOITqS2vH8/viwfuamzW4kbaQSSJ
:color: primary

Invoices AirTable
```

### The `Zero ID` column

Each invoice has **a unique identifier in the `Xero ID` column**.
We use [the `Link Invoices` AirTable automation](https://airtable.com/appbjBTRIbgRiElkr/wflPVmcmuMb38DYIW/wtr3oTLWhTJoVns8d) to link each Invoice record to its corresponding Contract using this ID.

### Linked `Contracts` column

Each `Invoice` record is linked to its corresponding `Contract` record via the **`Contracts`** linked field.

(contracts:dashboards)=
## Dashboards

We use an **AirTable Interface** to summarize important information about our contracts and invoices.
It should be relatively self-explanatory, with section headers describing the primary question each group of graphs is meant to answer.
Each graph should also have a title and subtitle describing its meaning.

```{button-link} https://airtable.com/appbjBTRIbgRiElkr/pagDRzpzpmKVNncH7
:color: primary

Invoicing and contracts dashboard
```
29 changes: 0 additions & 29 deletions finance/grants.md

This file was deleted.

2 changes: 1 addition & 1 deletion finance/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@
overview
strategy
accounting
contracts
projections
payments
cloud
grants
```
Binary file added images/airtable-major-sections.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 0 additions & 1 deletion partnerships/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ overview.md
structure.md
workflow.md
communication.md
leads.md
```
3 changes: 0 additions & 3 deletions partnerships/leads.md

This file was deleted.

1 change: 1 addition & 0 deletions partnerships/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ For example:

## Manage our sales pipeline

- Oversee [our leads and sales process](../projects/managed-hubs/sales.md).
- Ensure that our sales pipeline is efficient, distributed-friendly, and scalable.
- Balance our revenue, costs, and ability to deliver.
- Oversee processes and systems that balance leads, sales, etc. For example:
Expand Down
Loading