# Mutation: Create product/service
Create a product (or service) under a business.
Inputs required `name` and `unitPrice` along with optional `description`.
To indicate you are selling the product, provide an `incomeAccountId`. Valid income accounts can be found by [filtering accounts](360033063891) by subtypes `INCOME`, `DISCOUNTS`, `OTHER_INCOME`.
To indicate you are buying the product, provide an `expenseAccountId`. This can be instead of, or in addition to `incomeAccountId`. Valid expense accounts can be found by [filtering accounts](360033063891) by subtypes `EXPENSE`, `COST_OF_GOODS_SOLD`, `PAYMENT_PROCESSING_FEES`, `PAYROLL_EXPENSES`.
Replace `<BUSINESS_ID>` with a real business id and `<ACCOUNT_ID>` with a real account id.
Find Valid Income Accounts
: ```graphql
query {
business(id: "<BUSINESS_ID>") {
id
accounts(subtypes: [INCOME, DISCOUNTS, OTHER_INCOME]) {
edges {
node {
id
name
subtype {
name
value
}
}
}
}
}
}
```
Create Operation
: ```graphql
mutation ($input: ProductCreateInput!) {
productCreate(input: $input) {
didSucceed
inputErrors {
code
message
path
}
product {
id
name
description
unitPrice
incomeAccount {
id
name
}
expenseAccount {
id
name
}
isSold
isBought
isArchived
createdAt
modifiedAt
}
}
}
```
Operation Variables
: ```graphql
{
"input": {
"businessId": "<BUSINESS_ID>",
"name": "LED Bulb",
"description": "5 Watt C7 light bulb",
"unitPrice": "2.0625",
"incomeAccountId": "<ACCOUNT_ID>"
}
}
```