[{:db/doc
  "Data function that increments value of attribute a by amount.",
  :db/ident :pay,
  }
 {:db/doc
  "Data function that increments value of attribute a by amount.",
  :db/ident :inc,
  }
 {:db/doc "Deletes the general ledger entries for an entity",
  :db/ident :replace-general-ledger,
  }
 {:db/doc "Adds an invoice if it's not found",
  :db/ident :propose-invoice,
  }
 {:db/doc "Resets a relationship to the values specified ",
  :db/ident :reset,
  }


 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The code for the expense account (e.g., A1123)",
  :db/ident :account/code,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The numeric-only for the expense account (e.g., 5150)",
  :db/ident :account/numeric-code,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The name of the code (e.g., \"Telephone - HQ\")",
  :db/ident :account/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A forced location for this code, e.g., HQ.",
  :db/ident :account/location,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "The set of accounts this entry belongs to. Allows customization.",
  :db/ident :account/account-set,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "The type of account, (e.g., :account-type/expense :account-type/liability)",
  :db/ident :account/type,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc ":global, :optional :customized",
  :db/ident :account/applicability,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Customizations per customer",
  :db/ident :account/client-overrides,
  }
 {:db/ident :account/accounts-payable,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "a name search for accounts",
  :db/ident :account/search-terms,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether this account can be used for invoices",
  :db/ident :account/invoice-allowance,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether this account can be used for vendors",
  :db/ident :account/vendor-allowance,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether this account can be used generally",
  :db/ident :account/default-allowance,
  }
 {:db/ident :account/ccp, }
 {:db/ident :account/receipts-split,
  }

 {:db/doc "This account is optional",
  :db/ident :account-applicability/optional,
  }
 {:db/doc "The account applies to all cutsomers",
  :db/ident :account-applicability/global,
  }
 {:db/doc "This account is customized per-customer",
  :db/ident :account-applicability/customized,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the override",
  :db/ident :account-client-override/client,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Does this apply?",
  :db/ident :account-client-override/enabled,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "client override",
  :db/ident :account-client-override/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "a name search for accounts",
  :db/ident :account-client-override/search-terms,
  }

 {:db/ident :account-type/dividend,
  }
 {:db/ident :account-type/asset, }
 {:db/ident :account-type/equity, }
 {:db/ident :account-type/expense,
  }
 {:db/ident :account-type/liability,
  }
 {:db/ident :account-type/revenue,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "123 main st",
  :db/ident :address/street1,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Apt A",
  :db/ident :address/street2,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Campbell",
  :db/ident :address/city,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "CA",
  :db/ident :address/state,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "95014",
  :db/ident :address/zip,
  }

 {:db/doc "Only admins can use it",
  :db/ident :allowance/admin-only,
  }
 {:db/doc "Allowed to be used",
  :db/ident :allowance/allowed,
  }
 {:db/doc "Warn on usage",
  :db/ident :allowance/warn,
  }
 {:db/doc "Denied usage",
  :db/ident :allowance/denied,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which user commited this transaction",
  :db/ident :audit/user,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which batch was this part of",
  :db/ident :audit/batch,
  }

 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Identifier for bank account",
  :db/ident :bank-account/external-id,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "matching the orignal tuple of [company,bank]",
  :db/ident :bank-account/original-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A1127 Chase Card",
  :db/ident :bank-account/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "e.g. Bank of America",
  :db/ident :bank-account/bank-name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The code to list under the bank's name",
  :db/ident :bank-account/bank-code,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The bank's routing number",
  :db/ident :bank-account/routing,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The account number",
  :db/ident :bank-account/number,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent false,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "The type of account number, either :bank-account-type/check or :bank-account-type/cash",
  :db/ident :bank-account/type,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "yodlee's account identifier",
  :db/ident :bank-account/yodlee-account-id,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Current check number",
  :db/ident :bank-account/check-number,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A bank account's computer-friendly name",
  :db/ident :bank-account/code,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether this bank account is visible",
  :db/ident :bank-account/visible,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The sort order of the bank account",
  :db/ident :bank-account/sort-order,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Which bank accounts this bank account is valid for",
  :db/ident :bank-account/locations,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "Whether to include this bank account in balance sheet, etc.",
  :db/ident :bank-account/include-in-reports,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "Setting this date prevents older transactions from being imported",
  :db/ident :bank-account/start-date,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee account for the bank account",
  :db/ident :bank-account/yodlee-account,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/noHistory true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A precomputed balance for the account",
  :db/ident :bank-account/current-balance,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The numeric code for the balance sheet",
  :db/ident :bank-account/numeric-code,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "intuit external bank account",
  :db/ident :bank-account/intuit-bank-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee account for the bank account",
  :db/ident :bank-account/plaid-account,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee amex works weird",
  :db/ident :bank-account/use-date-instead-of-post-date?,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A status for integration for the bank account",
  :db/ident :bank-account/integration-status,
  }

 {:db/ident :bank-account-type/check,
  }
 {:db/ident :bank-account-type/cash,
  }
 {:db/ident :bank-account-type/credit,
  }

 {:db/doc "square processor",
  :db/ident :ccp-processor/square,
  }
 {:db/doc "ezcater processor",
  :db/ident :ccp-processor/ezcater,
  }
 {:db/doc "koala processor",
  :db/ident :ccp-processor/koala,
  }
 {:db/doc "Doordash identifier",
  :db/ident :ccp-processor/doordash,
  }
 {:db/doc "Grubhub identifier",
  :db/ident :ccp-processor/grubhub,
  }
 {:db/doc "Uber eats processor",
  :db/ident :ccp-processor/uber-eats,
  }
 {:db/doc "No specific ccp processor",
  :db/ident :ccp-processor/na,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The type of the charge",
  :db/ident :charge/type-name,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total amount on the charge",
  :db/ident :charge/total,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The tax on the charge",
  :db/ident :charge/tax,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The tip on the charge",
  :db/ident :charge/tip,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which food app processed this order",
  :db/ident :charge/processor,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the sale",
  :db/ident :charge/external-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A custom note",
  :db/ident :charge/note,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date for the payment",
  :db/ident :charge/date,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the sale",
  :db/ident :charge/client,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location of the sale",
  :db/ident :charge/location,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A link someone can go to to look at the charge",
  :db/ident :charge/reference-link,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Original id from the old system",
  :db/ident :client/original-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A client's human-friendly name",
  :db/ident :client/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "hello@example.com",
  :db/ident :client/email,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A client's computer-friendly name",
  :db/ident :client/code,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A check signature image",
  :db/ident :client/signature-file,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "A client's locations",
  :db/ident :client/locations,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Address of the client",
  :db/ident :client/address,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Bank accounts for the client",
  :db/ident :client/bank-accounts,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The strings that match the client",
  :db/ident :client/matches,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The mapping from string to location",
  :db/ident :client/location-matches,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The default location if one can't be found",
  :db/ident :client/default-location,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much money gets debited each week",
  :db/ident :client/weekly-debits,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much money gets credited each week",
  :db/ident :client/weekly-credits,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Regular, planned transactions",
  :db/ident :client/forecasted-transactions,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much money gets debited each week",
  :db/ident :client/week-a-debits,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much money gets credited each week",
  :db/ident :client/week-a-credits,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much money gets debited each week",
  :db/ident :client/week-b-debits,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much money gets credited each week",
  :db/ident :client/week-b-credits,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "No new data before this date can be added/changed",
  :db/ident :client/locked-until,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "collection of email contacts",
  :db/ident :client/emails,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A token that can be used to authenticate with square",
  :db/ident :client/square-auth-token,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Locations in square",
  :db/ident :client/square-locations,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Square's integration status",
  :db/ident :client/square-integration-status,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/ident :client/ezcater-locations,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/ident :client/feature-flags,
  }

 {:db/doc "Ensures each norm tx is executed exactly once",
  :db/ident :conformity/ensure-norm-tx,
  }
 {:db/valueType #:db{:ident :db.type/keyword},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Name of this transaction's norm",
  :db/ident :conformity/conformed-norms,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Index of this transaction within its norm",
  :db/ident :conformity/conformed-norms-index,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "John Smith",
  :db/ident :contact/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "4255773578",
  :db/ident :contact/phone,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "hello@example.com",
  :db/ident :contact/email,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Email contact's email",
  :db/ident :email-contact/email,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Manager, Owner, etc",
  :db/ident :email-contact/description,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The external id for the deposit",
  :db/ident :expected-deposit/external-id,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the deposit",
  :db/ident :expected-deposit/client,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location of the sale",
  :db/ident :expected-deposit/location,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date the deposit was initiated",
  :db/ident :expected-deposit/date,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total amount on the deposit",
  :db/ident :expected-deposit/total,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total fee on the deposit",
  :db/ident :expected-deposit/fee,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date of sales the deposit was for",
  :db/ident :expected-deposit/sales-date,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether the deposit has been cleared",
  :db/ident :expected-deposit/status,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which vendor is this deposit for? CCP Square?",
  :db/ident :expected-deposit/vendor,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "charges for the deposit",
  :db/ident :expected-deposit/charges,
  }

 {:db/ident :expected-deposit-status/pending,
  }
 {:db/ident :expected-deposit-status/cleared,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Id of the caterer",
  :db/ident :ezcater-caterer/uuid,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Name of the caterer",
  :db/ident :ezcater-caterer/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "a name search for caterer",
  :db/ident :ezcater-caterer/search-terms,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The subscriber uuid",
  :db/ident :ezcater-integration/subscriber-uuid,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The API key that can be used for requests",
  :db/ident :ezcater-integration/api-key,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Used to validate events",
  :db/ident :ezcater-integration/subscriber-secret,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The status for this integration",
  :db/ident :ezcater-integration/integration-status,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "All caterers for this integration",
  :db/ident :ezcater-integration/caterers,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/ident :ezcater-location/location,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/ident :ezcater-location/caterer,
  }

 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Amount of a forcested transaction",
  :db/ident :forecasted-transaction/amount,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which day the transaction occurs",
  :db/ident :forecasted-transaction/day-of-month,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An identifier for this forcasted transaction, e.g., 'RENT'",
  :db/ident :forecasted-transaction/identifier,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An identifier for the import batch",
  :db/ident :import-batch/external-id,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Links to everything that was imported",
  :db/ident :import-batch/entry,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many entries were imported",
  :db/ident :import-batch/imported,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many entries were already present",
  :db/ident :import-batch/extant,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many entries were explicitly ignored",
  :db/ident :import-batch/suppressed,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date the import occurred",
  :db/ident :import-batch/date,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "What system triggered the import",
  :db/ident :import-batch/source,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "What system triggered the import",
  :db/ident :import-batch/status,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Who triggred this import",
  :db/ident :import-batch/user-name,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many entries were an error ",
  :db/ident :import-batch/error,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many entries were before a start date ",
  :db/ident :import-batch/not-ready,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "error message for a failed job",
  :db/ident :import-batch/error-message,
  }

 {:db/ident :import-source/plaid, }
 {:db/ident :import-source/yodlee2,
  }
 {:db/ident :import-source/yodlee,
  }
 {:db/ident :import-source/manual,
  }
 {:db/ident :import-source/intuit,
  }

 {:db/ident :import-status/pending,
  }
 {:db/ident :import-status/imported,
  }
 {:db/ident :import-status/completed,
  }
 {:db/ident :import-status/started,
  }

 {:db/ident :integration-state/failed,
  }
 {:db/ident :integration-state/success,
  }
 {:db/ident :integration-state/unauthorized,
  }

 {:db/valueType #:db{:ident :db.type/instant},
  :db/noHistory true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "When was this integration updated",
  :db/ident :integration-status/last-updated,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/noHistory true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "When was this integration attempted.",
  :db/ident :integration-status/last-attempt,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A status for the integration",
  :db/ident :integration-status/state,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A message from the last attempt",
  :db/ident :integration-status/message,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Id of the intui bank",
  :db/ident :intuit-bank-account/external-id,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Name of intuit bank",
  :db/ident :intuit-bank-account/name,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Original id in old system",
  :db/ident :invoice/original-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A vendor-specified number for the invoice",
  :db/ident :invoice/invoice-number,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An identifier found to suggest the customer",
  :db/ident :invoice/customer-identifier,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Status of payment/import of the invoice [:paid, :unpaid]",
  :db/ident :invoice/status,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which client this invoice is for",
  :db/ident :invoice/client,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which vendor this invoice is for",
  :db/ident :invoice/vendor,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Date for this invoice",
  :db/ident :invoice/date,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Total $ for this invoice",
  :db/ident :invoice/total,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The unpaid balance of this invoice",
  :db/ident :invoice/outstanding-balance,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "The default location that expense-accounts will be created with for this invoice",
  :db/ident :invoice/default-location,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The default expense account for this invoice",
  :db/ident :invoice/default-expense-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The expense account categories for this invoice",
  :db/ident :invoice/expense-accounts,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The status of importing the transaction",
  :db/ident :invoice/import-status,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An identifier found in an uploaded invoice",
  :db/ident :invoice/client-identifier,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether to exclude from the ledger",
  :db/ident :invoice/exclude-from-ledger,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "When you gotta pay",
  :db/ident :invoice/due,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "Whether this invoice should be marked as paid when it's due",
  :db/ident :invoice/automatically-paid-when-due,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "When an invoice gets marked as paid",
  :db/ident :invoice/scheduled-payment,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An s3 location for the invoice",
  :db/ident :invoice/source-url,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location to code the invoice as",
  :db/ident :invoice/location,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How close an invoice matches its import",
  :db/ident :invoice/similarity,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Can only admins see this invoice?",
  :db/ident :invoice/source-url-admin-only,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Original id in old system",
  :db/ident :invoice-expense-account/original-id,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The code for the expense account",
  :db/ident :invoice-expense-account/expense-account-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Location for this expense account",
  :db/ident :invoice-expense-account/location,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount that this contributes to",
  :db/ident :invoice-expense-account/amount,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The account entity that this expense is for",
  :db/ident :invoice-expense-account/account,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The id in the old system",
  :db/ident :invoice-payment/original-id,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount that was paid to this invoice",
  :db/ident :invoice-payment/amount,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The invoice for this payment",
  :db/ident :invoice-payment/invoice,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total payment for this payment",
  :db/ident :invoice-payment/payment,
  }

 {:db/ident :invoice-status/paid, }
 {:db/ident :invoice-status/unpaid,
  }
 {:db/ident :invoice-status/voided,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The type of entity that created this entry",
  :db/ident :journal-entry/source,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the ledger",
  :db/ident :journal-entry/client,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The time for this entry",
  :db/ident :journal-entry/date,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The thing that created this entry",
  :db/ident :journal-entry/original-entity,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor for the ledger entry",
  :db/ident :journal-entry/vendor,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount for the entry",
  :db/ident :journal-entry/amount,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Each of the line items in the general ledger",
  :db/ident :journal-entry/line-items,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Has this cleared?",
  :db/ident :journal-entry/cleared,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Cleared against",
  :db/ident :journal-entry/cleared-against,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "notes about this journal-entry",
  :db/ident :journal-entry/note,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "For externally imported id",
  :db/ident :journal-entry/external-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The description if there is no vendor",
  :db/ident :journal-entry/alternate-description,
  }

 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The expense account being changed",
  :db/ident :journal-entry-line/expense-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The other type of account being changed",
  :db/ident :journal-entry-line/account,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount to debit",
  :db/ident :journal-entry-line/debit,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount to credit",
  :db/ident :journal-entry-line/credit,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Location of the entry",
  :db/ident :journal-entry-line/location,
  }

 {:db/ident :legal-entity-1099-type/none,
  }
 {:db/ident :legal-entity-1099-type/landlord,
  }
 {:db/ident :legal-entity-1099-type/misc,
  }

 {:db/ident :legal-entity-tin-type/ssn,
  }
 {:db/ident :legal-entity-tin-type/ein,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The strings that match the location",
  :db/ident :location-match/matches,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location of the location match",
  :db/ident :location-match/location,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The type of the item",
  :db/ident :order-line-item/item-name,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total cost on the item",
  :db/ident :order-line-item/total,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The tax on the item",
  :db/ident :order-line-item/tax,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The tip on the item",
  :db/ident :order-line-item/tip,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The item category",
  :db/ident :order-line-item/category,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total cost on the item",
  :db/ident :order-line-item/discount,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An Id that links to square etc",
  :db/ident :order-line-item/external-id,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The id in the old system",
  :db/ident :payment/original-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The uuid that matches the key for this check",
  :db/ident :payment/s3-uuid,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The s3 key with pdf of this check",
  :db/ident :payment/s3-key,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The s3 url with pdf of this check",
  :db/ident :payment/s3-url,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The check number",
  :db/ident :payment/check-number,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The check's memo line",
  :db/ident :payment/memo,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date the payment was made",
  :db/ident :payment/date,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount that was paid to the vendor",
  :db/ident :payment/amount,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Who the paid was made out to",
  :db/ident :payment/paid-to,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The status of the payment [:pending :cleared :voided]",
  :db/ident :payment/status,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The type of the payment [:cash :check :debit]",
  :db/ident :payment/type,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "raw data used to generate check pdf",
  :db/ident :payment/pdf-data,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor for which this payment was for",
  :db/ident :payment/vendor,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for which this payment",
  :db/ident :payment/client,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The bank account that was used to pay",
  :db/ident :payment/bank-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Any invoices this payment is related to",
  :db/ident :payment/invoices,
  }

 {:db/ident :payment-status/pending,
  }
 {:db/ident :payment-status/voided,
  }
 {:db/ident :payment-status/cleared,
  }

 {:db/ident :payment-type/cash, }
 {:db/ident :payment-type/check, }
 {:db/ident :payment-type/debit, }
 {:db/doc "Used for paying invoices from statement credits.",
  :db/ident :payment-type/balance-credit,
  }
 {:db/doc "Credit for negative invoices",
  :db/ident :payment-type/credit,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "plaid account id",
  :db/ident :plaid-account/external-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "account name",
  :db/ident :plaid-account/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "account number",
  :db/ident :plaid-account/number,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Available Balance",
  :db/ident :plaid-account/balance,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Plaid Item ID",
  :db/ident :plaid-item/external-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Used to authenticate to plaid",
  :db/ident :plaid-item/access-token,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which client the plaid item is for",
  :db/ident :plaid-item/client,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Individual bank accounts",
  :db/ident :plaid-item/accounts,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Current status",
  :db/ident :plaid-item/status,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/noHistory true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Last updated date",
  :db/ident :plaid-item/last-updated,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Which client(s) this is for",
  :db/ident :report/client,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A description for the report",
  :db/ident :report/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The s3 key for the report",
  :db/ident :report/key,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "When this report was created",
  :db/ident :report/created,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Where to download the report",
  :db/ident :report/url,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Creator of the report's name",
  :db/ident :report/creator,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the sale",
  :db/ident :sales-order/external-id,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the sale",
  :db/ident :sales-order/client,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location of the sale",
  :db/ident :sales-order/location,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date the order was placed",
  :db/ident :sales-order/date,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total amount on the sale",
  :db/ident :sales-order/total,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The tax on the sale",
  :db/ident :sales-order/tax,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The tip on the sale",
  :db/ident :sales-order/tip,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "How the sale was paid",
  :db/ident :sales-order/charges,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "What the person ordered",
  :db/ident :sales-order/line-items,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total amount on the sale",
  :db/ident :sales-order/discount,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The returned amount on the sale",
  :db/ident :sales-order/returns,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total cost on the item",
  :db/ident :sales-order/service-charge,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which vendor is this sales-order for? CCP Square?",
  :db/ident :sales-order/vendor,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Where the POS says the order is from",
  :db/ident :sales-order/source,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A link someone can go to to look at the order",
  :db/ident :sales-order/reference-link,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The external id for the refund",
  :db/ident :sales-refund/external-id,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the refund",
  :db/ident :sales-refund/client,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location of the refund",
  :db/ident :sales-refund/location,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The date the refund was initiated",
  :db/ident :sales-refund/date,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total amount on the deposit",
  :db/ident :sales-refund/total,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The total fee on the refund",
  :db/ident :sales-refund/fee,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The type of refund (CASH CARD etc)",
  :db/ident :sales-refund/type,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which vendor is this refund for? CCP Square?",
  :db/ident :sales-refund/vendor,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The ID that is used for fetching data",
  :db/ident :saved-query/guid,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The client for the saved query",
  :db/ident :saved-query/client,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The key for the query text in s3",
  :db/ident :saved-query/key,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A descriptor for the query for the user interface",
  :db/ident :saved-query/description,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A unique key for looking up queries",
  :db/ident :saved-query/lookup-key,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An id for a location in square",
  :db/ident :square-location/square-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Name of the location in square e.g. Woodland Hills",
  :db/ident :square-location/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "The client location that this location should match to. e.g. WH",
  :db/ident :square-location/client-location,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The id in the old system",
  :db/ident :transaction/original-id,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The amount of the transaction",
  :db/ident :transaction/amount,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "full description of the transaction",
  :db/ident :transaction/description-original,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "short description of the transaction",
  :db/ident :transaction/description-simple,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "a yodlee id for the merchant",
  :db/ident :transaction/merchant-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "a name for the merchant",
  :db/ident :transaction/merchant-name,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A key to match against",
  :db/ident :transaction/id,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Date that the transaction showed up",
  :db/ident :transaction/date,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Date that the transaction posted",
  :db/ident :transaction/post-date,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee description of the transaction",
  :db/ident :transaction/type,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee status of the transaction",
  :db/ident :transaction/status,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee account id",
  :db/ident :transaction/account-id,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The check number that was parsed from the description",
  :db/ident :transaction/check-number,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Vendor for who we think this transaction is from",
  :db/ident :transaction/vendor,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Client for who we think this transaction is for",
  :db/ident :transaction/client,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The bank accout used for this transaction",
  :db/ident :transaction/bank-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The payment that this transaction matched to",
  :db/ident :transaction/payment,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The debit(s)/credit(s) for this transaction",
  :db/ident :transaction/accounts,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Location of the transaction's target",
  :db/ident :transaction/location,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The yodlee merchant",
  :db/ident :transaction/yodlee-merchant,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether to exclude from the ledger",
  :db/ident :transaction/exclude-from-ledger,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Status of a transaction",
  :db/ident :transaction/approval-status,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The rule that this transaction matched",
  :db/ident :transaction/matched-rule,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "which entitiy it was cleared against",
  :db/ident :transaction/cleared-against,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which forecast this transaction matches, for cashflow",
  :db/ident :transaction/forecast-match,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "If this transaction is a deposit, the deposit that we anticipated",
  :db/ident :transaction/expected-deposit,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "An unhashed version of the id",
  :db/ident :transaction/raw-id,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which account to debit/credit for this transaction",
  :db/ident :transaction-account/account,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Location for this expense account",
  :db/ident :transaction-account/location,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much to debit/credit - must be positive",
  :db/ident :transaction-account/amount,
  }

 {:db/ident :transaction-approval-status/approved,
  }
 {:db/ident :transaction-approval-status/unapproved,
  }
 {:db/ident :transaction-approval-status/requires-feedback,
  }
 {:db/ident :transaction-approval-status/excluded,
  }
 {:db/ident :transaction-approval-status/suppressed,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The specific client this rule is for",
  :db/ident :transaction-rule/client,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The specific bank account this rule is for",
  :db/ident :transaction-rule/bank-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Apply this rule if the yodlee merchant matches",
  :db/ident :transaction-rule/yodlee-merchant,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A description to match this rule against",
  :db/ident :transaction-rule/description,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A friendly description for this rule (internal)",
  :db/ident :transaction-rule/note,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Amount has to be less than or equal to this",
  :db/ident :transaction-rule/amount-lte,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Amount has to be greater than or equal to this",
  :db/ident :transaction-rule/amount-gte,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Day of month has to be less than or equal to this",
  :db/ident :transaction-rule/dom-lte,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Day of month has to be greater than or equal to this",
  :db/ident :transaction-rule/dom-gte,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor to assign",
  :db/ident :transaction-rule/vendor,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The outcome split",
  :db/ident :transaction-rule/accounts,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Status of a transaction",
  :db/ident :transaction-rule/transaction-approval-status,
  }

 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How much should go to this account",
  :db/ident :transaction-rule-account/percentage,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The location this split is for",
  :db/ident :transaction-rule-account/location,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The account of this split",
  :db/ident :transaction-rule-account/account,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The id in the old system",
  :db/ident :user/original-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Provider for oauth for the user",
  :db/ident :user/provider,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "the id from the provider",
  :db/ident :user/provider-id,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The role [:user :admin :none]",
  :db/ident :user/role,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "name of the user",
  :db/ident :user/name,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The clients this user can view",
  :db/ident :user/clients,
  }

 {:db/ident :user-role/manager, }
 {:db/ident :user-role/admin, }
 {:db/ident :user-role/user, }
 {:db/ident :user-role/none, }
 {:db/ident :user-role/power-user,
  }

 {:db/ident :vendor/ccp-square, }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Original id from the old system",
  :db/ident :vendor/original-id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A vendor's human-friendly name",
  :db/ident :vendor/name,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A vendor's computer-friendly name",
  :db/ident :vendor/code,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "Set if you want to override how this vendor's name is printed on checks",
  :db/ident :vendor/print-as,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A vendor's email address",
  :db/ident :vendor/email,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "A vendor's phone number",
  :db/ident :vendor/phone,
  }
 {:db/valueType #:db{:ident :db.type/keyword},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How often to email this vendor about invoices",
  :db/ident :vendor/invoice-reminder-schedule,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor's default expense account",
  :db/ident :vendor/default-expense-account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor's primary contact",
  :db/ident :vendor/primary-contact,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor's secondary contact",
  :db/ident :vendor/secondary-contact,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The vendor's address",
  :db/ident :vendor/address,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The account will be used when a bill is created.",
  :db/ident :vendor/default-account,
  }
 {:db/valueType #:db{:ident :db.type/boolean},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Whether or not to exclude the vendor",
  :db/ident :vendor/hidden,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Overrides per-client",
  :db/ident :vendor/terms-overrides,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Overrides per-client",
  :db/ident :vendor/account-overrides,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many days till you pay",
  :db/ident :vendor/terms,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "The clients for which invoices will automatically be paid.",
  :db/ident :vendor/automatically-paid-when-due,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "When an invoice gets marked as paid",
  :db/ident :vendor/schedule-payment-dom,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The first name for the legal entity",
  :db/ident :vendor/legal-entity-first-name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The first name for the legal entity",
  :db/ident :vendor/legal-entity-middle-name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The first name for the legal entity",
  :db/ident :vendor/legal-entity-last-name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The ssn or ein for the legal entity",
  :db/ident :vendor/legal-entity-tin,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The ssn or ein for the legal entity",
  :db/ident :vendor/legal-entity-tin-type,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The ssn or ein for the legal entity",
  :db/ident :vendor/legal-entity-1099-type,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "a name search for vendors",
  :db/ident :vendor/search-terms,
  }
 {:db/ident :vendor/ccp-ezcater, }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "If not a person, the legal entity naame",
  :db/ident :vendor/legal-entity-name,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "the account for invoices",
  :db/ident :vendor-account-override/account,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many days till you pay",
  :db/ident :vendor-account-override/client,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which client the override is for",
  :db/ident :vendor-schedule-payment-dom/client,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "What day of the month",
  :db/ident :vendor-schedule-payment-dom/dom,
  }

 {:db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many days till you pay",
  :db/ident :vendor-terms-override/terms,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many days till you pay",
  :db/ident :vendor-terms-override/client,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc
  "A key to find this by, normally vendor (db:/id)-client(:db/id)",
  :db/ident :vendor-usage/key,
  }

 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which vendor this usage is for",
  :db/ident :vendor-usage/vendor,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which client this usage is for",
  :db/ident :vendor-usage/client,
  }
 {:db/valueType #:db{:ident :db.type/long},
  :db/noHistory true,
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "How many times does this client use this vendor",
  :db/ident :vendor-usage/count,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee account id",
  :db/ident :yodlee-account/id,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "account name",
  :db/ident :yodlee-account/name,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "account number",
  :db/ident :yodlee-account/number,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Current status",
  :db/ident :yodlee-account/status,
  }
 {:db/valueType #:db{:ident :db.type/double},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Available Balance",
  :db/ident :yodlee-account/available-balance,
  }

 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The yodlee merchant name",
  :db/ident :yodlee-merchant/name,
  }
 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "The yodlee merchant id",
  :db/ident :yodlee-merchant/yodlee-id,
  }

 {:db/unique #:db{:ident :db.unique/identity},
  :db/valueType #:db{:ident :db.type/long},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Yodlee Provider ACcount Id",
  :db/ident :yodlee-provider-account/id,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Which client the provider account is for",
  :db/ident :yodlee-provider-account/client,
  }
 {:db/valueType #:db{:ident :db.type/ref},
  :db/isComponent true,
  :db/cardinality #:db{:ident :db.cardinality/many},
  :db/doc "Individual bank accounts",
  :db/ident :yodlee-provider-account/accounts,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Current status",
  :db/ident :yodlee-provider-account/status,
  }
 {:db/valueType #:db{:ident :db.type/string},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Current status (detail)",
  :db/ident :yodlee-provider-account/detailed-status,
  }
 {:db/valueType #:db{:ident :db.type/instant},
  :db/cardinality #:db{:ident :db.cardinality/one},
  :db/doc "Last updated date",
  :db/ident :yodlee-provider-account/last-updated,
  }]
