Property Management App with client accounting

Hi,

I want to create an app for property management that can handle landlords incoming rents, outgoing expenses, deduct agent fees etc.

Does anyone have some advice please as to what ‘object’ / ‘schema’ I should setup. I think I will need landlords, rents, expenses but I don’t know much about accounting - will I needs other objects? Has anyone done this before please?

Thank you

Paul

Hi Paul, it depends on your scope, and workflow as to how the application will need to be constructed. Knack can be almost anything that you can imagine, but it would require some discovery around what your requirements are.

I’d recommend, if you are doing this yourself, to map out all the different types of data that you think you may need to collect and then separate them into groups. I would recommend doing this on a spreadsheet first and create a worksheet for each “group”.

A group is data that is the same “subject”. For example, the worksheet for your “Property” would have the address, date of construction, rooms, sq footage etc. It would not contain information about the tenant, this would be on a separate worksheet.

Use the spreadsheet to detail all your column headings, such as tenant name, date of birth, phone number, email etc. This process is the start of defining your table structures and the required fields.

Your top level object is likely to be the “Property”. Each property will have specific details, as mentioned. These properties will be connected to a Landlord (or Landlords). Each property will have a tenant(s), so the “Tenant” will be a separate object that connects to a property or properties.

Creating your table structure and making sure you normalize your data is key to setting up the foundations of your application.

Any of the available Knack Experts would be able to help with a discovery call so you can talk them through your structure and an Entity Relationship Diagram can be drawn up to show the structure of the application.

I’d recommend reviewing the Expert network . There are a number of Expert Partners who could either help you build this with tutoring or build it for you: Knack Experts Network

1 Like

Paul - I’ve done a number of property management apps. I’d be happy walk you through the set as it applies to you app. Best not done in writing, so feel free to schedule a Zoom call here: Calendly - David Parrish

1 Like

I just saw the video part 1 and 2. Very interesting, very well explained and short. Super critical to master for a good design. I don’t remember to have seen a Knack video (articles yes) on Entity Relationship Diagram.

Maybe you should do a video on ERD @CarlHolmes and show how it releates to Knack schema and records.

Hey @MichaelG - I build mine in Lucidchart and their two part demo covers it all pretty well.

1 Like

Hi,
I created this type of application. You can create different user roles that will be able to access different parts of your application. For example a manager role, a broker role. The manager could have access to all the information on these properties and the broker only a portion of this information.

Many thanks to Everyone that replied. It’s very helpful!

1 Like

Property Management ERD
Been in the property management world for 5 years and beeing using Appfolio and Salesforce RentCenter and yardi.

Here is what you kind of need for Core:

Table:
Owner

Portfolio (1:M)

Property (1:M)

Unit (1:M)

Lease (1:M)

Tenant (1:M)
:down_right_arrow:
Transaction (1:M)
Property → WorkOrder → Vendor

For accounting:

Field Name Type Description
Transaction ID Auto-number Unique ID for each entry
Date Date Transaction date
Property Connection → Property Which property this transaction belongs to
Unit Connection → Unit (optional) For unit-specific charges
Lease Connection → Lease Ties to the current lease
Tenant Connection → Tenant Tenant associated with this transaction
Category Choice Rent, Deposit, Maintenance, Fee, Refund, Owner Draw
Description Text Free text explanation
Debit Currency Money out (expense or charge)
Credit Currency Money in (payment or income)
Balance Formula (Credit - Debit) Running balance at transaction level
Payment Method Choice Cash, ACH, Check, Credit Card
GL Account Text / Choice General Ledger mapping (e.g., 4000 Rent Income)
Status Choice Posted, Pending, Reversed
Portfolio Connection → Portfolio Roll-up reporting at portfolio level

You will need to perform some roll up for reporting:

At the Transaction level

Balance = Credit - Debit

  1. At the Lease level
    • Total Credit (Rent Collected) = Sum of Credit for all related transactions

    • Total Debit (Charges) = Sum of Debit for all related transactions

    • Lease Balance = Total Debit - Total Credit

  2. At the Tenant level
    • Total Debit = Rollup from all Leases

    • Total Credit = Rollup from all Leases

    • Outstanding Balance = Debit - Credit (shows tenant owes or prepaid)

  3. At the Property and Portfolio levels
    • Total Income = SUM(Credit)

    • Total Expenses = SUM(Debit)

    • Net Operating Income (NOI) = Credit - Debit

You will need API key to connect specifc Table.

Most property manager use quick books, so you need to intergrate your GL account with Knack. Make sure both side is aligned correctly so on CSV import, it is less work cleaning it up.