Parse Consolidated Account Statement (CAS) PDF files generated from CAMS/KFINTECH
pip install casparser
pip install casparser[mupdf]
Note: Enabling this dependency could result in licensing changes. Check the License section for more details
import casparser
data = casparser.read_cas_pdf('/path/to/cas/pdf/file.pdf', 'password')
{
"statement_period": {
"from": "YYYY-MMM-DD",
"to": "YYYY-MMM-DD"
},
"file_type": "CAMS/KARVY/UNKNOWN",
"investor_info": {
"email": "string",
"name": "string",
"mobile": "string",
"address": "string"
},
"folios": [
{
"folio": "string",
"amc": "string",
"PAN": "string",
"KYC": "OK/NOT OK",
"PANKYC": "OK/NOT OK",
"schemes": [
{
"scheme": "string",
"advisor": "string",
"rta_code": "string",
"rta": "string",
"open": "number",
"close": "number",
"valuation": {
"date": "date",
"nav": "number",
"value": "number"
},
"transactions": [
{
"date": "YYYY-MM-DD",
"description": "string",
"amount": "number",
"units": "number",
"nav": "number",
"balance": "number"
}
]
}
]
}
]
}
casparser also comes with a command-line interface that prints summary of parsed portfolio in a wide variety of formats.
Usage: casparser [-o output_file.json] [-p password] [-s type] [-a] CAS_PDF_FILE
-o, --output FILE Output file path
-s, --summary simple|plain|grid|fancy_grid|html...
Print Summary of transactions parsed.
-p PASSWORD CAS password
-a, --include-all Include schemes with zero valuation in the
summary output
--force-pdfminer Force PDFMiner parser even if MuPDF is
detected
--version Show the version and exit.
-h, --help Show this message and exit.
CASParser is distributed under MIT license by default. However enabling the optional dependency
mupdf
would imply the use of PyMuPDF /
MuPDF and hence the licenses GNU GPL v3 and GNU Affero GPL v3
would apply. Copies of all licenses have been included in this repository. - IANAL
PS:- select the detailed statement (including transactions) option