Compare commits

...

8 Commits

Author SHA1 Message Date
Ahmed Bouhuolia
eff8b41720 Merge pull request #519 from bigcapitalhq/change-settings-value-colum-to-text
fix: alter value column of the settings table to text instead of string
2024-07-04 09:05:17 +02:00
Ahmed Bouhuolia
632cc3d72e fix: alter value column of the settings table to text instead of string 2024-07-04 08:58:41 +02:00
Ahmed Bouhuolia
3e437a041c Merge pull request #518 from bigcapitalhq/BIG-213
fix: Tax rate not saving on creating a new invoice
2024-06-24 10:47:21 +02:00
Ahmed Bouhuolia
e783cfeafa fix: Tax rate not saving on creating a new invoice 2024-06-24 10:46:19 +02:00
Ahmed Bouhuolia
5dde7f5584 Merge pull request #516 from bigcapitalhq/BIG-212
fix: Reorder 'debit' and 'credit' columns
2024-06-24 10:44:28 +02:00
Ahmed Bouhuolia
8e0911ec85 fix: Reorder 'debit' and 'credit' columns 2024-06-24 10:43:34 +02:00
Ahmed Bouhuolia
7b4afd3859 Update .env.example 2024-06-17 18:30:13 +02:00
Ahmed Bouhuolia
590715037b chore: dump CHANGELOG.md 2024-06-17 15:33:49 +02:00
9 changed files with 89 additions and 47 deletions

View File

@@ -84,8 +84,8 @@ LEMONSQUEEZY_STORE_ID=
LEMONSQUEEZY_WEBHOOK_SECRET=
# S3 documents and attachments
S3_REGION=
S3_REGION=US
S3_ACCESS_KEY_ID=
S3_SECRET_ACCESS_KEY=
S3_ENDPOINT=
S3_BUCKET=
S3_BUCKET=

View File

@@ -2,6 +2,14 @@
All notable changes to Bigcapital server-side will be in this file.
## [v0.17.5] - 17-06-2024
* fix: Balance sheet and P/L nested accounts by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/501
* fix: add space between buttons on floating actions bar by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/508
* feat: Migrating to Envoy proxy instead of Nginx by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/509
* fix: Disable email confirmation does not work with invited users by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/497
* feat: Setting up the date format in the whole system dates by @abouolia in https://github.com/bigcapitalhq/bigcapital/pull/506
## [0.17.0] - 04-06-2024
### New

View File

@@ -0,0 +1,11 @@
exports.up = function (knex) {
return knex.schema.table('settings', (table) => {
table.text('value').alter();
});
};
exports.down = (knex) => {
return knex.schema.table('settings', (table) => {
table.string('value').alter();
});
};

View File

@@ -50,8 +50,8 @@ export class JournalSheetTable extends R.compose(
{ key: 'description', accessor: 'entry.note' },
{ key: 'account_code', accessor: 'entry.accountCode' },
{ key: 'account_name', accessor: 'entry.accountName' },
{ key: 'credit', accessor: 'entry.formattedCredit' },
{ key: 'debit', accessor: 'entry.formattedDebit' },
{ key: 'credit', accessor: 'entry.formattedCredit' },
];
};
@@ -67,8 +67,8 @@ export class JournalSheetTable extends R.compose(
{ key: 'description', accessor: 'note' },
{ key: 'account_code', accessor: 'accountCode' },
{ key: 'account_name', accessor: 'accountName' },
{ key: 'credit', accessor: 'formattedCredit' },
{ key: 'debit', accessor: 'formattedDebit' },
{ key: 'credit', accessor: 'formattedCredit' },
];
};
@@ -84,8 +84,8 @@ export class JournalSheetTable extends R.compose(
{ key: 'description', accessor: '_empty_' },
{ key: 'account_code', accessor: '_empty_' },
{ key: 'account_name', accessor: '_empty_' },
{ key: 'credit', accessor: 'formattedCredit' },
{ key: 'debit', accessor: 'formattedDebit' },
{ key: 'credit', accessor: 'formattedCredit' },
];
};
@@ -101,8 +101,8 @@ export class JournalSheetTable extends R.compose(
{ key: 'description', value: '' },
{ key: 'account_code', value: '' },
{ key: 'account_name', value: '' },
{ key: 'credit', value: '' },
{ key: 'debit', value: '' },
{ key: 'credit', value: '' },
];
};
@@ -118,8 +118,8 @@ export class JournalSheetTable extends R.compose(
{ key: 'description', label: 'Description' },
{ key: 'account_code', label: 'Acc. Code' },
{ key: 'account_name', label: 'Account' },
{ key: 'credit', label: 'Credit' },
{ key: 'debit', label: 'Debit' },
{ key: 'credit', label: 'Credit' },
];
}

View File

@@ -111,16 +111,16 @@ export const useJournalTableEntriesColumns = () => {
fieldProps: { allowCreate: true },
},
{
Header: CreditHeaderCell,
accessor: 'credit',
Header: DebitHeaderCell,
accessor: 'debit',
Cell: MoneyFieldCell,
disableSortBy: true,
width: 100,
align: Align.Right,
},
{
Header: DebitHeaderCell,
accessor: 'debit',
Header: CreditHeaderCell,
accessor: 'credit',
Cell: MoneyFieldCell,
disableSortBy: true,
width: 100,

View File

@@ -26,6 +26,14 @@ export const useAccountReadEntriesColumns = () => {
width: 100,
textOverview: true,
},
{
Header: intl.get('debit'),
accessor: isFCYCurrencyType ? 'formatted_fc_debit' : 'formatted_debit',
width: 80,
className: 'debit',
align: 'right',
textOverview: true,
},
{
Header: intl.get('credit'),
accessor: isFCYCurrencyType
@@ -36,14 +44,6 @@ export const useAccountReadEntriesColumns = () => {
align: 'right',
textOverview: true,
},
{
Header: intl.get('debit'),
accessor: isFCYCurrencyType ? 'formatted_fc_debit' : 'formatted_debit',
width: 80,
className: 'debit',
align: 'right',
textOverview: true,
},
],
[isFCYCurrencyType],
);

View File

@@ -82,20 +82,6 @@ export const useManualJournalEntriesColumns = () => {
},
]
: []),
{
Header: intl.get('credit'),
accessor: 'credit',
Cell: FormatNumberCell,
width: getColumnWidth(entries, 'credit', {
minWidth: 60,
magicSpacing: 5,
}),
disableResizable: true,
disableSortBy: true,
textOverview: true,
formatNumber: { noZero: true },
align: 'right',
},
{
Header: intl.get('debit'),
accessor: 'debit',
@@ -110,6 +96,20 @@ export const useManualJournalEntriesColumns = () => {
formatNumber: { noZero: true },
align: 'right',
},
{
Header: intl.get('credit'),
accessor: 'credit',
Cell: FormatNumberCell,
width: getColumnWidth(entries, 'credit', {
minWidth: 60,
magicSpacing: 5,
}),
disableResizable: true,
disableSortBy: true,
textOverview: true,
formatNumber: { noZero: true },
align: 'right',
},
],
[],
);

View File

@@ -25,14 +25,6 @@ export const useGLEntriesTableColumns = () => {
width: 140,
textOverview: true,
},
{
Header: intl.get('credit'),
accessor: ({ credit }) => credit.formatted_amount,
width: 100,
className: 'credit',
align: 'right',
textOverview: true,
},
{
Header: intl.get('debit'),
accessor: ({ debit }) => debit.formatted_amount,
@@ -41,6 +33,14 @@ export const useGLEntriesTableColumns = () => {
textOverview: true,
align: 'right',
},
{
Header: intl.get('credit'),
accessor: ({ credit }) => credit.formatted_amount,
width: 100,
className: 'credit',
align: 'right',
textOverview: true,
},
],
[],
);

View File

@@ -70,6 +70,17 @@ export const defaultInvoice = {
attachments: [],
};
// Invoice entry request schema.
export const defaultReqInvoiceEntry = {
index: 0,
item_id: '',
rate: '',
discount: '',
quantity: '',
description: '',
tax_rate_id: '',
};
/**
* Transform invoice to initial values in edit mode.
*/
@@ -175,13 +186,27 @@ export const ITEMS_FILTER_ROLES_QUERY = JSON.stringify([
},
]);
/**
* Transformes bill entries to submit request.
*/
const transformEntriesToRequest = (entries) => {
return R.compose(
R.map(R.compose(R.curry(transformToForm)(R.__, defaultReqInvoiceEntry))),
filterNonZeroEntries,
)(entries);
};
/**
* Filters the givne non-zero entries.
*/
const filterNonZeroEntries = (entries) => {
return entries.filter((item) => item.item_id && item.quantity);
};
/**
* Transformes the form values to request body values.
*/
export function transformValueToRequest(values) {
const entries = values.entries.filter(
(item) => item.item_id && item.quantity,
);
return {
...omit(values, [
'invoice_no',
@@ -194,9 +219,7 @@ export function transformValueToRequest(values) {
invoice_no: values.invoice_no,
}),
is_inclusive_tax: values.inclusive_exclusive_tax === TaxType.Inclusive,
entries: entries.map((entry) => ({
...omit(entry, ['amount', 'tax_amount', 'tax_rate']),
})),
entries: transformEntriesToRequest(values.entries),
delivered: false,
attachments: transformAttachmentsToRequest(values),
};