---
title: "ACCT 101, Session 11: Cash Flows, Part 2"
author: 
  - name: Dr. Richard M. Crowley
    email: rcrowley@smu.edu.sg
    affiliation: https://rmc.link/
title-slide-attributes:
  data-background-video: "../Backgrounds/title.mp4"
  data-background-video-loop: "true"
  data-background-size: stretch
format:
  revealjs:
    theme: default
    css: quarto_white.css
    navigation-mode: vertical
    controls: true
    transition: slide
    background-transition: fade
    transition-speed: default
    width: 1536
    height: 864
    logo: ../Logos/logo2.png
    code-link: true
    code-line-numbers: false
    chalkboard:
      theme: whiteboard
    auto-stretch: false
revealjs-plugins:
  - attribution
execute:
  echo: true
  warning: false
  message: false
editor: source
---

# Front matter {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}


<!--# Note that the downlit and xml2 pacakges are required to compile -->
<!--# Installed extensions include `attribution`, `qrcode`, and `material-icons` -->

```{r helpers, echo=FALSE, warning=FALSE, message=F}
library(knitr)
library(kableExtra)

#' Pretty formatted HTML tables
#' 
#' @param df The dataframe to format as a table
#' @param names Names to use for columns if not using the df column names. Vector
#' @param highlight_cols Columns to highlight. Default is c(1) for highlighting the first row. Use c() to remove.
#' @param highlight_rows Rows to highlight. Default is c() to not highlight any rows.
#' @param color_rows Rows to highlight in color. Default is c() to not highlight any rows.
#' @param highlight_end_rows Rows to highlight. Uses a reverse indexing where 1 is the last row, 2 is second to last, etc.
#' @param full Use to span the full width of a slide. FALSE by default.
#' @param fixed_header Whether the first row should be treated as a header row. TRUE by default.
html_df <- function(df, names=NULL, highlight_cols=c(1), highlight_rows=c(), color_rows=c(), highlight_end_rows=c(), full=F, fixed_header=T) {
  if(!length(names)) {
    names=colnames(df)
  }
  kbl(df,"html", col.names = names, align = c("l",rep('c',length(cols)-1))) %>%
    kable_paper(c("striped","hover"), full_width=full, fixed_thead=F, html_font = "\"Source Sans Pro\", Helvetica, sans-serif") %>%
    {if(length(highlight_cols)) column_spec(., highlight_cols,bold=T, background = "#ffffff99") else .} %>%
    {if(length(highlight_rows)) row_spec(., highlight_rows,bold=T, background = "#ffffff99") else .} %>%
    {if(length(color_rows)) row_spec(., color_rows,bold=T, background = "#aaaaff99") else .} %>%
    {if(length(highlight_end_rows)) row_spec(., nrow(df) + 1 - highlight_end_rows,bold=T, background = "#ffffff99") else .}
}

library(tidyverse)
```

<!--# List packages here that are not being correctly highlighted -->
<!--# The usual cause is calling the library from a echo=FALSE cell -->

```{r}
#| include: false
options(downlit.attached = c("knitr", "kableExtra", "tidyverse"))
```

<!-- "reveal_plugins:..." and "chalkboard:" are handled by prep.py -->
```{r setup, include=FALSE}
library(reticulate)  # To use python in R Markdown
# Python to use is specified in the .Renviron file
```

## Final exam details {data-background="../Backgrounds/studying.jpg" class="default exclude"}

<div style="font-size:0.7em">

- The exam will be done electronically on eLearn in a specified classroom at SMU.
- 8 questions that consist of problem solving, journal entries, reasoning & explanations, preparation of partial or full statements, and financial statement analysis (including ratios).  PV/PVA tables will be given (for bonds).
- These are comprehensive questions that integrate several topics.  The following topics will be covered:
    - Accounts receivable and bad debt
    - Bank reconciliation
    - Inventory and COGS
    - Long term assets
    - Accrual accounting: processing information & adjusting
    - Liabilities
    - Stockholders' equity
    - Statement of cash flows
    - Financial ratios
- Ratios: you must use the formulas in these lecture slides.  Formulas will **not** be provided in the exam papers.
- Not covered: Par value for common shares; periodic inventory systems; sustainability
- Use sample (past year) exam papers **with caution**.  The content, coverage, and difficulty level may be different.
</div>

## Final exam resources {data-background="../Backgrounds/studying.jpg" class="default exclude"}

- Practice final exams
    - These are old exams which I have made annotations to in order to keep them relevant
- Additional practices
- Additional selected book problems
- Review session by TAs
    - November 21, 1:00pm-3:00pm, SOA SR 3-2
- Office hours: Contact TAs by Telegram.
- Other questions: Email or Telegram me; Regular office hours Dec 2 and 3.
- eLearn practices (250+ questions!)
    - These can be very helpful to identify what you need to study
- All practices from Quiz 1 and Quiz 2

## Final exam tips {data-background="../Backgrounds/studying.jpg" class="default exclude"}

- Remember that everyone is taking the same exam -- if you find it difficult or long, others likely think the same.
- If you are stuck on a question, skip it and come back later.  It's better to solve everything that you know well and then work on those you are stuck on.
- If you are really stuck on a topic while studying for finals, drop by my office hours and we'll get it worked out.
- Course grades will be curved.






## Learning objectives {data-background="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}
![](../Course_Diagrams/ACCT_101_course_map_11.png){width="450px" fig-align="center"}
:::

::: {.column width="50%"}

1. Learn how to construct a statement of cash flows
2. Apply the *direct* method
3. Calculate net investing cash flow
4. Calculate net financing cash flow

:::

::::




# Statement of cash flows {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Format {data-background-image="../Backgrounds/reference.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with a comparative balance sheet and the year's income statement
2. List all operating cash flows and sum
    - Can use direct or indirect method
3. List all investing cash flows and sum
4. List all financing cash flows and sum
5. Sum all cash flows
6. Reconcile this change using balance sheet cash

:::

::: {.column width="50%"}
![](../Diagrams/SCF.png){width="500px" fig-align="center"}
:::

::::


# Operating cash flows {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Operating cash flows {data-background-image="../Backgrounds/default.jpg"}

Two equivalent methods:

:::: {.columns}

::: {.column width="50%"}

**Indirect method**

- Backs out operating cash flow by starting with net income and adjusting out accruals
- Most commonly used
- Easiest to do

:::

::: {.column width="50%"}

**Direct method**

- Tracks and reports exactly where operating cash flows came from
- Preferred by IFRS
- Most useful for investors

:::

::::

- Both methods will get you to the same operating cash flow amount

> We will cover the direct method today

## Indirect method for OCF recap {data-background-image="../Backgrounds/default.jpg"}

- Use information from the income statement first
- Adjust for changes in current assets and current liabilities
    - Transactions with working capital can affect cash while not affecting the income statement

![](../Diagrams/OCF.png){width="700px" fig-align="center"}

## Formatting OCF {data-background-image="../Backgrounds/reference.jpg"}


:::: {.columns}

::: {.column width="50%"}
**Indirect method**

![](../Diagrams/SCF_OCF_indirect.png){width="600px" fig-align="center" .lightbox}

:::

::: {.column width="50%"}
**Direct method**

![](../Diagrams/SCF_OCF.png){width="600px" fig-align="center" .lightbox}

:::

::::



## Direct method for OCF {data-background-image="../Backgrounds/default.jpg"}

- Still based on:
    - Income statement
    - Changes in current assets
    - Changes in current liabilities
- Goal is to directly calculate:
    - Cash collections
        - From customers
        - Optionally, from interest and dividends
    - Cash payments
        - To suppliers
        - To employees
        - For operating expenses
        - Optionally, for interest and dividends
        - For taxes

## Direct method: General approach {data-background-image="../Backgrounds/reference.jpg"}

1. Start with the related current asset or liability account
    - Record all steps in a T-account
2. Consider changes in the account(s) recorded on the income statement
3. Are there any non-cash changes to this account?
4. The cash collection will balance the T-account

## Direct method: Collections, simple {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with A/R
2. Income statement info:
    - Revenue
3. No non-cash changes in simple cases
4. The cash collection will balance the T-account

:::

::: {.column width="50%"}
![](../Diagrams/OCF_direct_customers0.png){width="400px" fig-align="center" style="margin: 0px 0px"}
:::

::::


> This requires careful consideration of business activities

## Direct method: Collections with bad debt {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with A/R and Allowance for Uncollectible Accounts
2. Income statement info:
    - Revenue
    - Bad debt expense
    - Gain on re-estimation
3. Non-cash changes:
    - Write-off of A/R
4. The cash collection will balance the T-accounts

:::

::: {.column width="50%"}

![](../Diagrams/OCF_direct_customers.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

> We need to consider effects from other accounts

## Direct method: Collections with unearned revenue {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with A/R and Unearned Revenue
2. Income statement info:
    - Revenue
3. No non-cash changes
4. The cash collection will balance the T-accounts

:::

::: {.column width="50%"}

![](../Diagrams/OCF_direct_customers2.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

> There can be multiple sources for **Revenue**

## Direct method: Payments to suppliers {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with A/P and Inventory
2. Income statement info:
    - COGS
3. Non-cash changes:
    - Purchases on account (assume all purchases)
4. The cash collection will balance the T-account

:::

::: {.column width="50%"}

![](../Diagrams/OCF_direct_suppliers.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

> Use A/P and Inventory to find payments to suppliers

## Direct method: Payments for expenses {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with the payable associated with the expense
2. Income statement info:
    - The expense amount
3. No non-cash changes in simple cases
4. The cash collection will balance the T-account

:::

::: {.column width="50%"}

![](../Diagrams/OCF_direct_expense.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

> Use payable and expense to find payments for prepaid expenses

## Direct method: Payments for expenses (prepaid) {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with the prepaid expense associated with the expense
2. Income statement info:
    - The expense amount
3. No non-cash changes
4. The cash collection will balance the T-account

:::

::: {.column width="50%"}

![](../Diagrams/OCF_direct_prepaid.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

> Use prepaid expense and expense to find payments for expenses

## Direct method: Payment for interest expense {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with tinterest payable
2. Income statement info:
    - The expense amount
3. No non-cash changes
    - Bond amortization
4. The cash collection will balance the T-account

:::

::: {.column width="50%"}

![](../Diagrams/OCF_direct_interest.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

> Make sure to take bond amortization into account

# Investing cash flows {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Investing cash flows {data-background-image="../Backgrounds/default.jpg"}

- Based on:
    - Income statement
    - Balance sheet
    - Additional information
- Goal is to directly calculate:
    - Inflows: 
        - Sales of long-term assets
        - Collection of loan principle
    - Outflows:
        - Purchases of long-term assets
        - Loans made to other

## Determining investing cash flows {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

- Only 1 method to use
    - Essentially the direct method
- Investing cash flows can be a bit trickier
    - Need to consider cash from journal entries

:::

::: {.column width="50%"}

**Format**

![](../Diagrams/SCF_ICF.png){width="600px" fig-align="center"}

:::

::::

## Investing cash flows: General approach {data-background-image="../Backgrounds/reference.jpg"}

1. Start with the asset account and any related accounts
    - Record all steps in a T-account
2. Consider changes in the account(s) recorded on the income statement
3. Are there any non-cash changes to these accounts?
4. Cash collections are either in the T-account OR...
5. Re-construct the journal entry to determine them

## Investing: Inflows from PP&E sale {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with the PP&E account and accumulated depreciation
2. Income statement info:
    - Gain/loss on asset sale
    - Depreciation expense
3. Non-cash changes:
    - Disposal amount
    - Disposal depreciation amount
4. Finish tallying T-Accounts
5. Cash will be in the journal entry

:::

::: {.column width="50%"}

![](../Diagrams/ICF_ppe.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

# Financing cash flows {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Financing cash flows {data-background-image="../Backgrounds/default.jpg"}

- Based on:
    - Income statement
    - Balance sheet
    - Additional information
- Goal is to directly calculate:
    - Inflows: 
        - Issuance of shares
        - Sales of treasury shares
        - Receipt of bond or loan principle
    - Outflows:
        - Purchases of treasury shares
        - Payment of principle
        - Optionally, payment of dividends
        

## Determining financing cash flows {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

- Only 1 method to use
    - Essentially the direct method
- Financing cash flows can be a bit trickier
    - Need to consider cash from journal entries

:::

::: {.column width="50%"}

**Format**

![](../Diagrams/SCF_FCF.png){width="600px" fig-align="center"}

:::

::::

## Financing cash flows: General approach {data-background-image="../Backgrounds/reference.jpg"}

1. Start with the liability or equity account and any related accounts
    - Record all steps in a T-account
2. Consider changes in the account(s) recorded on the income statement
3. Are there any non-cash changes to these accounts?
4. Cash collections are either in the T-account OR...
5. Re-construct the journal entry to determine them

## Financing: Bond issuance {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with the bond payable account and its discount or premium account
2. Income statement info:
    - Interest expense can be relevant
3. Non-cash changes:
    - Changes in discount after issuance
    - Bond retirement (in part)
4. Finish tallying T-Accounts
5. Cash will be in the journal entry

:::

::: {.column width="50%"}

![](../Diagrams/FCF_bondissue.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::

## Financing: Bond retirement {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with the bond payable account and its discount or premium account
2. Income statement info:
    - Interest expense can be relevant
    - Gain or loss on retirement
3. Non-cash changes:
    - Changes in discount from retirement
    - Issuance (in part)
4. Finish tallying T-Accounts
5. Cash will be in the journal entry

:::

::: {.column width="50%"}

![](../Diagrams/FCF_bondretire.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::


## Financing: Dividends paid {data-background-image="../Backgrounds/default.jpg"}

:::: {.columns}

::: {.column width="50%"}

1. Start with the dividends payable account and retained earnings
2. Income statement info:
    - Net income
3. Non-cash changes:
    - Stock dividends
4. The cash collection will balance the T-account

:::

::: {.column width="50%"}

![](../Diagrams/FCF_dividends.png){width="400px" fig-align="center" style="margin: 0px 0px"}

:::

::::


# Bringing it all together {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Analysis of Cash flow {data-background-image="../Backgrounds/reference.jpg"}

```{r , echo=FALSE, warning=FALSE}
options(knitr.table.format = "html") 
text <- data.frame(
  Operating = c("+", "+", "+", "+", "-", "-", "-", "-"),
  Investing = c("+", "+", "-", "-", "+", "+", "-", "-"),
  Financing = c("+", "-", "+", "-", "+", "-", "+", "-"),
  Activity = c("Building up cash; looking for acquisition?","Paying off debt by growing CFO and PP&E sales","Expanding via internal growth and borrowing","Improved CFO used to buy PP&E and pay off debt","Covering CFO shortfall via borrowing and PP&E sale","Sale of PP&E to cover debt payment and CFO shortfall","Rapid growth but shortfall in CFO","Using cash reserves to finance shortfalls and pay debt")
)
html_df(text)
```

## Practice: Constructing an SCF {data-background-image="../Backgrounds/question1.jpg"}

> Construct an SCF using the following information.  Use the indirect method to determine OCF.

![](../Diagrams/SCF_practice.png){width="800px" fig-align="center" .lightbox}

## {data-background="../Backgrounds/graph_paper.png" class="print-only"}

## Solution: Constructing an SCF {data-background-image="../Backgrounds/answer.jpg" class="default exclude"}

![](../Diagrams/SCF_practice-Solution.png){width="750px" fig-align="center" .lightbox}









# End matter {data-background-video="../Backgrounds/section.mp4" data-background-video-loop="true"}

## Wrap up {data-background="../Backgrounds/ending.jpg"}

- For next week
    1) Recap the reading for this week
    2) Next week: Group project presentations
        - Email me slides by 10am of the class day
    3) Homework 5 to *turn in after class next week*
        - Available on eLearn
        - Submit on eLearn
    4) Practice on eLearn
        - Practice on Cash flow statements
        - Automatic feedback provided
- Survey on the class session at [rmc.link/101survey2](https://docs.google.com/forms/d/e/1FAIpQLSdzyohx5MTN40nrDxCWRfuyapH7b1N6NG6MQqV6-lMMNT9z2Q/viewform?usp=sf_link)

## Packages used for these slides {data-background="../Backgrounds/code.jpg"}

- `{kableExtra}`
- `{knitr}`
- `{revealjs}`




## References {data-background="../Backgrounds/books-old.jpg" .stack .never .small}

## Custom code {data-background="../Backgrounds/code.jpg" .stack .never .small}


## NOTES {class="never"}


