Help

Arriving in the Airtable Jungle

Topic Labels: Base design
4178 11
cancel
Showing results for 
Search instead for 
Did you mean: 
Madeleine_Walth
5 - Automation Enthusiast
5 - Automation Enthusiast

Hi everybody!

I’m new in Airtable and I really enjoy this tool. I watched some tutorials and read about Airtables functions. I tried things out, and what should I say, it works very well! Now I try to organize my company’s tasks but I don’t get a quite clear idea on how to do it. My problem is the amount of different tasks and things I need to add. I guess it is not very complicated for you guys, therefore I would appreciate some ideas and insights on how to structure my Airtable.

I’ll try to explain as clear as possible all the tasks and needs I have.
We are a content and marketing agency. That means we have two teams - marketing and content with different projects.

What I have already:

  • I have a clients table
  • I have a service table
  • I have a team table with the different team members and their skills and availability

The problem comes with the table of the projects:

Let’s talk about the content part. We create blog posts, whitepapers etc. for different clients. Some are occurring regularly and some just once. I need to create a content calendar where I see when we have scheduled articles, who is doing it, what topic, who is the writer - I managed to do all this. The problem is now that my data is in a huge list and I don’t have a good overview. I would like that I can separate them by client and month without creating 20 new tables. I want a list with all projects from the same month, but also from one client. I know there is a filter function, but I feel that is not good enough. I want to schedule my content for the rest of the year and I don’t know how to really organize the amount of information I have without losing the overview. To every article there is a lot of data and also billing information. I need to find a good way how to organize all of it.

Do you have a good idea how I could structure my Airtable in the right way?
Thanks for your help and time.

11 Replies 11

Part Two

Return To: Table of Contents


Projects & Invoices

When exploring this part of the base, I wanted to find a way to build something that would highlight some of the dynamic ways you can implement an invoicing and billing system.
I’ll reiterate that I’m taking a few intentional deviations from your requirements for the sake of exploration.

I had to sit on this for a few hours.

The most straightforward thought I had was to simply use a pivot chart to allow us to break down that information.

image
image

As a side note to this question:

You only need a single date field to implement these:

image

Click Here To See How

One of the coolest formula functions within Airtable is the DATETIME_FORMAT function.
It allows you to take a single Date/Time field, and format it into an almost infinite number of permutations.

You can find a list of the possible formatting tools here

If you look at the previous image, you’ll see the two formula fields.
Both of those fields are referencing the Due Date field.

Here’s the formula for the ‘Project Quarter’ field:

IF(
    {Due Date},
    DATETIME_FORMAT(
        {Due Date},
        'YYYY'
    ) & " - " &
    'Q' & DATETIME_FORMAT(
        {Due Date},
        'Q'
    )
)

And here’s the formula for the Calendar Tag field:

IF(
    {Due Date},
    DATETIME_FORMAT(
        {Due Date},
        "MMM YY'"
    ) &
    ' - Q'
    &
    DATETIME_FORMAT(
        {Due Date},
        'Q'
    )
)

If you open the above link to the Airtable DATETIME_FORMAT specifiers, you’ll see that we can actually mix and match the specifiers to build custom formats. It’s hard to properly explain, so here’s a comparison:

MMM YY'Mar 21'
- Q'- Q1'
YYYY2021

So if we have a date of 3/1/21, then when we format that into MMM YY', then we will get
Mar 21'.
Per the specifiers, if we format it into LL, we will get March 1, 2021.

Again, it’s pretty much a virtually unlimited number of permutations.
I recommend playing around with it.

Playing around with it will allow you to group records by any sort of date format you’d like.
image

You will notice in the screenshot above that the groups aren’t chronologically in order.
It’s a quirky behavior in how Airtable handles sorting and grouping. If you do actually want them to be properly grouped and sorted, there’s a small workaround if you’re curious to see it.


At this point, I was super curious to push the boundaries on solutions I’ve built before.

Remember this from the first post?

We can now reap the benefits of setting ourselves up in our design.
Before I show you where it comes together, I need to quickly stop at our Team Members table because you pointed out that:


Team Members

Return to: Table of Contents

This table was a lot of fun to explore.
As you might be able to guess, this table contains records for each team member that you might have.
You’ll find any information about a given team member here, ranging from their position/title, billing rate, email address, primary phone number, address, etc.

Additionally, you can also pass in their preferred profile picture. Doing this allows you to do some really cool things when you start looking at page templates for invoices or automations.

image

When you start organizing your staff with things like their position/title, you can even easily identify and handle your contractors/freelance team members.

image

Here’s a quick example of that.
Using a quick formula field, I can summarize freelance/contract information allowing for quick and insightful glances at the contract and work history of a given individual.

This also allows you to play with implementing a company/team directory.

As per usual, all data you see is test data generated for this purpose.
image

Now that we’ve done an initial glance at what’s here, let’s take a look at some of the nuances that build the overall workflow.

Writers & Support Positions

Return to: Table of Contents

Let’s say you need to identify the writer of a given project.
While a project might have multiple people working on it, there is a primary writer that takes ownership of the actual content.

For example, I can have a project with an editor, designer, and planner. Those are in addition to my assigned writer.
Since the writer serves a critical role in the project, we might want to isolate them as being the writer.
While this makes for slightly better sorting and organization, it also lets you go in-depth with how your billing and invoicing behave.
We’ll touch back on that later.


Now that we’ve filled in the billing rate for each team member, we can use that information to build our billing and invoicing.

image

In my example, I have them billing per project.
There will be slight permutations in how things work if you bill by a different metric, such as on a time-based method.


Paying Up!

Return to: Table of Contents

We have two sources if you sit back and think about where all the information comes from regarding rates and prices.

  1. Billing by service
  2. Billing per team member

Those two pieces come together at a central point. When working with data design, you might hear these referred to as junctions.

Just because we have information pumping into a single point does not mean that we can just call it a day and hope that it all works out fine.
We have to synthesize that information to properly support our workflows.

We’re now at the point where it comes full circle.

Rollup Galore

Remember that rollups let us take a bunch of data from other sources and transform or summarize it in a different location.

In this case, we want to work with the billing/service rates from both our Service and Team Members table.

To start, I’m going to create a rollup from the Service table.

image

This will give us the rate as shown in the service table.

Now we need to handle the billing for the team members that are assigned to the project.

Remember this?

Since the writer serves a critical role in the project, we might want to isolate them as being the writer.

It will come in handy now.

Look carefully, and you’ll see that I actually have two linked record fields to the Team Members table.

image

image

The difference in the fields is that the Writer linked record field only allows us to link specifically our writers in this field.
On the other hand, the Team Members field allows you to assign anyone who is not a writer.

Here’s the thinking behind that choice:

There are situations that I’ve worked with in the past where the billing of a writer or principal staff member needs to be handled differently or called out differently from the rest of the other staff on a project.

This also allows you to clearly identify how much of the overall invoice amount is paid towards the writer or staff member that owned that particular project delivery.

I apologize for the image compression.
image

Here’s a crude explanation of what you’re seeing.

  1. Service Rate → From Service Table. It’s the flat rate on a service.
  2. Team Rate → The combined rates for all of the non-writer staff on the project.
  3. Staff Rate Total → The combined rates of the staff plus the writer’s rate.
  4. Invoiced Amount → This is a field that you type the final charged amount in. This allows you to have the final say and control over project invoicing. There are ways to automate this, and I’m happy to show you if you’d like.

There could be a ton of different things that might be added to the invoice amount.
I’ve enjoyed using a simple note field to note down additional things.

image


When you take all of this work that we’ve done, you can do things like fuel some dope document generation without having to do any duplicate data entry.

image


Recording Payments

Return to: Table of Contents

You may have noticed that I have a single-select field that shows the status of the invoice.
Let’s say that when you get a new project, the client needs to pay the 25% deposit fee of the flat rate service fee.

The remaining invoice amount will be due when the project is completed/published.

To show this off, I will create a new project record and show you the invoice/billing workflow.

image

Here’s my new project record. I have added my client, my writer, and my team members.

image

Now, since I’ve added my team and I’ve added the service that this project is based on, all my billing information is present and has automatically filled in.

Since the project is new and is in planning, the only balance that’s due right now is the deposit amount.

Here’s the Balance field:

Balance: $171.25
Total Paid: $0

Here’s the Billing Breakdown field:

Service Rate: $685
Staff Rate: $581
Invoiced Amount: $0.00

Here’s the Deposit Amount field:

Deposit Due: $171.25

Here’s the Publishing Amount field:

Due At Completion: $513.75

Okay great! We have our billing information!
Now that we have our invoice calculations, we can run our deposit invoice!

image

I’ll go ahead and input the amount that I want to run the invoice for. From there, I can click my Invoice button.
Airtable will then fill in all the record data into the template I created.

image

I’ll go ahead and add this invoice to the record for record keeping.

image

You can then send the invoice to your client or client contact.
If you’d like, I can show you how to build an automation that sends out your invoices to your contact for you.

So what happens when your client pays the invoice?
We need a way to record our payments and update our billing information.

This is where we see the new Payments table!

image

Each record in this table is for each individual payment made by a client.
We can designate payments that are being processed, processed, whether they are for deposits or for completed projects, etc.

We’ll imagine that our client has paid the invoice we sent them.
So we will create a new payment record and fill in the information.

image

Since we link our project to our payment, our balance is now $0.00

image

You can also see that our Balance field now shows a zero balance and that the deposit has been paid.

What happens when the project is completed or published?

image

Now that our invoice is due, we can update our invoice amount to the final billing amount.

image

I’m going to enter in a ballpark-ish number for our final invoice amount that takes into account all of our staff billing rates and service balance.

We can then run our final invoice and issue that to our client.

image

And when they pay, you can just record it as we did before!


A quick note on reporting:

A small side-exploration I did was create a table that breaks down your months/years/quarters.

image

It allows you to see which clients did business with you that month, the number of projects, and the total revenue for that time period.

I didn’t explore it much, but we can explore it a bit more if you want.

Return to: Table of Contents

woooow, this is amazing.
just going through everything. will be back on this in a bit.