# Register any datatypes here
# These correspond modules in ./lib/types/
dataTypes:
  bool: Boolean
  percentage: Percentage
#  num: Number
#  int: Integer
  str: String
  curr: Currency
  date: Date
  choice: Choice
  integer: Int
#  invoicenum: Invoice num
entities:
  out:  
    fields:
    - slug: amount
      title: Whole purchase amount
      help: Include any GST
      type: curr
      required: true
    - slug: date
      title: Purchase date
      type: date
      required: true
      default: today
    - slug: title
      title: Title
      type: str
      required: true 
    - slug: cat
      title: Category
      type: choice 
      required: true
      choicesConfig: cats 
    - slug: gst
      title: Has GST
      type: bool
      default:  true
    - slug: deduction
      title: Is deduction
      type: bool
      default: true
    - slug: percentage
      title: Percentage deductible
      type: percentage
      default: "1.0"
    - slug: capital
      title: Is capital expense
      type: bool
      default: false
      help: A capital expense is either over $1000 or to be used for over ??? years
    - slug: notes
      title: Notes
      type: str 
      required: false
      help: Any additional notes about the transaction
    - slug: gstperc
      title: GST %
      type: percentage
      setting: gstPercentage
  in:  
    fields:
    - slug: amount
      title: Whole income amount
      help: Include any GST
      type: curr 
      required: true
    - slug: date
      title: Reveived date
      type: date
      required: true
      default: today
      help: Date of credit transaction in bank account statement
    - slug: title
      title: Invoice# or SKU ref or Title
      type: str
      required: true
      help: Eg. 'CCC123-1' for invoice.
    - slug: gstcat
      title: GST category
      type: choice
      required: true
      default: gst
      choicesConfig: gstcats 
    - slug: notes
      title: Notes
      type: str 
      required: false
      help: Any additional notes about the transaction
    - slug: gstperc
      title: GST %
      type: percentage
      setting: gstPercentage  
#    - slug: taxable
#      title: Is taxable income
#      type: bool
#      default: true
#    - slug: cat
#      title: Category
#      type: choice 
#      required: false
#      choicesConfig: cats 
#  client:
#    fields:
#    - slug: name
#      title: Name
#      type: str
#      required: true
#    - slug: code
#      title: Code (3 char)
#      type: str
#      required: true
#  job:
#    fields:
#    - slug: title
#      title: Title
#      type: str
#      required: true
#    - slug: num
#      title: Number
#      type:  num
#      required: true       
#    - slug: client
#      title: Client
#      type: str
#      required: true 
#    - slug: cat
#      title: Category
#      type: choice
#      required: true
#      default: gst